[Flutter]The instance member ‘ref’ can’t be accessed in an initializer.Try replacing the reference to the instance member with a different expression の解決方法

image

エラーの内容

以下のようにwidgetの初期化でriverpodのrefを呼び出した際にタイトルのエラーが発生しました。

解決方法

late 修飾子をつけること解決できました!

根本的な解決になっているかはわかりませんが、とりあえずビルドは通るようになります。

不具合の原因

ネットで調べている感じ、

Providerが初期化される前にProviderにアクセスしに行っているために起こっているエラーだと思われます。

なのでlate修飾子をつけてwidgetの初期化のタイミングを遅らせることができるのでエラーが解決するというわけです。

参考にした記事

https://stackoverflow.com/questions/63542776/the-instance-member-params-cant-be-accessed-in-an-initializer

関連記事

image [dart]late修飾子の使い方

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


error: Content is protected !!