【 Flutter 】Flutter を 基礎 から 学習 ( アーキテクチャ ) part253 Reduxパターンとは

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は アーキテクチャ ( part253 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( アーキテクチャ ) part252 Reduxパターンとは

引き続き、アーキテクチャについて学びます。

Reduxパターンとは

Reduxの3原則

BLoCパターンのように、Reduxパターンにもルールがあるようです。

  • 状態(State)はアプリケーション内で1つだけ。ツリー状態で保持する。

Reduxでは、ツリー状態の一番最初のState名はAppStateと慣習的に決まっているようです。

Flutterもこれに合わせてAppStateクラスを作成してさまざまなStateをぶら下げて持ちます。

  • 状態(State)はImmutableにする。

Immutableとは「不変」という意味です。

私もよくJavaを教えるときに「Stringはイミュータブルだから気を付けて!」といったものです😌

Flutterでは@imutableというアノテーションを付与してconstコンストラクタを用意し実現していきます。

  • 状態(State)は副作用がない純粋関数(Reducer)を通して新たな状態(State)を返す。

Flutterではreducer関数を用意しStateを管理しています。勝手にStateを変更してはいけないようです。

 

※ここでの状態(State)はReduxにおける状態(State)です。Flutterとは関係ないものです。

最後に

Flutterの状態管理よりとても魅力的に感じるのですが罠がありそうでちょっと怖いです(笑

今日はここまで!