[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」というパッケージの名前になっているということなのではないかと思われます。

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

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

今すぐ無料お試しキットを受け取る

はじめての方へ


みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

みんプロ作成アプリ





今すぐ無料お試しキットを受け取る
TOP