[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.

 

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

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

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

はじめての方へ


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

みんプロ作成アプリ





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