Zenn

FlutterのValueNotifier

2025/03/16に公開

FlutterのValueNotifier

https://api.flutter.dev/flutter/foundation/ValueNotifier-class.html

ValueNotifierとは

ValueNotifierは、Flutterで提供される単純な値の変更を監視するための仕組みです。
値が変更されたときに、その変更を監視しているウィジェットに通知を送り、
自動的に画面を更新することができます。

ValueNotifierの基本的な使い方

  • 初期化と値の更新方法
    ValueNotifier<T> を使用して、特定の型の値を管理できます
final counter = ValueNotifier<int>(0);

ValueNotifier の value プロパティを更新すると、リスナーが通知を受け取ります。

counter.value++;
// 明示的に新しい値をセットすることも可能です。
counter.value = 10; // 値を10に更新

ValueNotifier のメリット

  1. setState() を使わずに UI を更新できる
    • StatefulWidget の setState() を使うと、build() メソッド全体が再描画されるが、ValueNotifier は変更された部分だけを更新できる。
  2. シンプルな状態管理
    • Provider や Bloc を使うほどではない小さな状態管理に適している。
  3. パフォーマンスの向上
    • ValueListenableBuilder は Listenable に依存し、変更があったときだけ再描画されるため、余計なビルドが発生しにくい。

他の状態管理との比較

シンプルな値の監視に特化しており、Provider やRiverpodなどの
より複雑な状態管理ソリューションと比べて、単一の値を扱う場合に最適な選択肢。

Discussion

ログインするとコメントできます