🙄
公式ドキュメントで学ぶRiverpod day1 StateProvider
この記事を読んで、公式ドキュメント縛りでなにかを学んでみたいと感じた。
直近でriverpodを学ぶ必要があり、これを題材にしてみようと思う。
StateProviderのユースケース
- 単純なデータ構造、プリミティブ型を状態管理したい場合はこちらを使う。
StateProviderを使わない場合
- バリデーションなどを挟む場合
- 状態に参照型を用いる場合(List/map,CustomObjectなど)
- 上記の場合はStateNotiferを使う。
ref.read(notifer).update関数について
update関数のコールバック(下記コードだとstate)で状態を取得し、更新することも出来る。
ちなみに下記コードのstate + 1をstate++に変更するとUIの更新がされなくなる。
明確な理由は後ほど調べて記載する。
onPressed: () {
ref.read(counterProvider.notifier).update((state) => state + 1);
},
Discussion