[Flutter]providerパッケージのContext.read/watch使用上の2つの注意点(Tried to call Provider.of<dynamic>. This is likely a mistake and is therefore unsupported.)

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

 

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

この際に、提供される側で使う「Provider.of」メソッド、あるいはそれと同じ役割を果たす「context.read / watch」メソッドがありますが、

これらを使う際に注意すべき点が2つありますので、以下にご紹介しておきます。

 

1.context.read / context.watch共にAndroid Studioが自動的にコード補完してくれない

1つめは、Dartファイル内で「context.read」あるいは「context.watch」とコーディングしても、Android Studioがコード補完してくれないので、全て手打ちかつproviderのimport文の手動挿入が必要になるということです。

 

2.ジェネリクスをつけないとランタイムエラーになる

2つめは、「context.read」あるいは「context.watch」の後ろに読み取り対象のクラス(変更通知を受けるクラス)をジェネリクスで指定しないと、コンパイルエラー(文法エラー)ではなく、アプリを動かした際に以下のエラーが出る(ランタイムエラー)ので注意が必要です。

Tried to call Provider.of<dynamic>. This is likely a mistake and is therefore unsupported.

 

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

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

人気No.1

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

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

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

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

TOP