🙆
Flutterの状態管理
代表的な状態管理手法
- StatefulWidget
- Redux
- Provider
- BLoC
- StateNotifier
- Riverpod
代表的な状態管理手法は以上に挙げた6つが挙げられると思うが、
Flutterの状態管理をするにあたって最も馴染みがあるものはStatefulWidgetだと思う。
そしてエンジニアとして社会人デビューした際にはこういった色々な状態管理の仕方がある中でどういった場面で何を使用するべきなのかがより重要であると理解した。
$flutter create myapp
以上のコマンドを実行するとflutterのプロジェクトが作成される
そのプロジェクトには当たり前のようにStatefulWidgetが入っている
すなわち、プロジェクトを立ち上げた段階で状態管理が既にできているのである。
このStatefulWidgetというのはStateクラスのプロパティに変更可能なプロパティを持たせ、
setState()関数を使ってプロパティを更新しつつ再描画を行うことができるもの
StatefulWidgetのメリット、デメリット
これからStatefulWidgetのメリットとデメリットに分けて説明
StatefulWidgetメリット
setStateを使用するだけで再描画を行うことができ、非常にシンプルであること
StatefulWidgetデメリット
仮に作成したアプリの更新や、機能を次々と追加していくことでロジックが肥大化し、可読性の低いものとなってしまう。
他にもReduxを使った状態管理手法がある
Redux + SharedPreferencesを使うことでデータの保存機能を実現することができる
Reduxとは
iOS/Androidでも使用される管理手法で人気がある
Reduxの構成要素
- UI
- Actions
- Reducer
- Store(State)
上記四つがReduxの構成要素となる
Store
Discussion