[Flutter]Provider.ofメソッド(context.read/watchメソッド)はインスタンスを作っているわけではない

このページには広告が含まれる場合があります。

 

Flutterで状態管理を行う際にGoogle先生が推奨している「provider」パッケージがありますが、

この際に、提供される側で使う「Provider.of」メソッド、あるいはそれと同じ役割を果たす「context.read / watch」メソッドは、インスタンスを生成するわけではありません。

当該メソッドは、Providerのインスタンス生成時に、create属性で作成されたクラスのインスタンス(上図の例でいうとModel())を参照するものですので注意が必要です。

ですから、表現が適切かどうかわかりませんが、Providerというのはお腹に赤ちゃんを抱えたお母さんのようなもので、その赤ちゃんが提供する側のインスタンス(上記例でいうと、create属性で生成されたModelというクラスのインスタンス)になる。

そして、「Provider.of」メソッド、あるいはそれと同じ役割を果たす「context.read / watch」メソッドというのは、その「赤ちゃん」にアクセスするための文法であるということです。

これは、Provider側から見たら「赤ちゃん(create属性で生成されたインスタンス)」を「提供する(provide)」ということなので、「provider」というパッケージの名前になっているということなのではないかと思われます。

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

人気No.1

前向きな気持ちになれる 占星術・タロットリーディング

あすコロ式・相談サロン 【ナビるやん】

人に言えない悩みから使命・運勢診断まで、あなたに寄り添いながら“ナビゲート”する、あすコロ人気No.1のオンライン相談サロン。占星術・心理学・タロットの叡智を活かし、普段認識していない「潜在意識」にアクセスしてあなたの気づいていない可能性を拓かせ、明日から前向きに歩めるようになる60分のリーディングセッション。

今すぐ詳細を見る(メルマガ登録で初回半額) ▶

TOP