【Flutter】flutter_riverpodを使用し、状態管理を実装する
Flutter のパッケージである、flutter_riverpod を使用し、状態管理を実装します。
まずは、flutter_riverpod をインストールします。
ターミナルで、flutter pub add flutter_riverpodを実行します。
さらにターミナルで flutter pub get を実行しましょう。
flutter_riverpod をインポートします。
Flutter のmain()に、ProviderScopeを設定します。
MyHomePageクラスのStatefulWidgetをConsumerWidgetへ変更します。
buildにWidgetRef refを追加します。
refで、状態管理しているパラメータを受け取ります。
次は、状態を管理するプロバイダを作成します。
新しく、counterProvider.dart を作成します。
flutter_riverpod をインポートします。
外部から変更が可能できるように、StateProviderを設定します。
今回は、何もない場合に『0』を設定します。
main.dart に戻り、状態管理している数値を画面に表示できるようにします。
Text の内容をrefでcounterProviderを受け取ります。
さらに、counterProviderの値を監視するために、watchで括ります。
タップすると、画面の数字が変わるようにしたいので、ref.read でプロバイダの値を取得します。
onPress に先程設定した counter に値を 1 ずつ追加するようにします。
一通り完成したので、動作確認します。
タップボタンをタップすると、
数値が 1 になりました。
さらにタップしてみると、
タップするたびに数字が上がっていきました。
次に、タップする度に数字が 2 倍になるようにします。
まずは、初期値を 0 から 1 へ変更しておきます。
counterProvider.dart
次に main.dart のonPressの部分を、counter.updateにします。
updateのなかに、計算式を入れていきます。
では、動作確認してみましょう。
タップボタンをタップすると、
1 から 2 へ変更されました。
何度かタップしてみると、
タップする度、2 倍になりました。
お知らせ
私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)