🙌

riverpod公式で学んだこと ーStateProvider編

2023/01/07に公開

はじめに

前回記事の続きです
https://zenn.dev/hiroki_nobuta/articles/01955a6b660a6a

前回はProviderについてまとめました。今回はStateProviderについてです。
riverpod 公式(https://riverpod.dev/docs/providers/state_provider)

StateProvider

StateNotifierProviderの簡略版とのこと

以下のようなデータを扱う際に使用する

  • enum型 (絞り込み条件)
  • String型 (テキストフィールド)
  • bool型  (チェックボックス)
  • 数値   (ページ遷移、年齢)

StateProviderは簡単なデータを扱う際に用いる。データを簡単に保存することができるが、その分重要なデータは任せられないプロバイダー。
 watchで状態の変化を監視し、readで良くも悪くも簡単に値を変更できる。

例:StateProviderの例

StateProvider
final countStateProvider = StateProvider<int>((ref) => 0);

StateProviderは一番外側で宣言する。グローバル変数みたいだけど、グローバル変数ではない。

StateProvider
ref.watch(countStateProvider)
ref.read(countStateProvider.notifier).state ++;

StateProviderに限らず、riverpodのプロバイダーで管理しているデータの参照は、ConsumerWidget(他にも種類はあるらしい)で囲まれた範囲ならできる

Discussion