🙄

公式ドキュメントで学ぶRiverpod day1 StateProvider

2023/02/16に公開

この記事を読んで、公式ドキュメント縛りでなにかを学んでみたいと感じた。
直近でriverpodを学ぶ必要があり、これを題材にしてみようと思う。

StateProvider

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