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

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

前回

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

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

Reduxパターンとは

Reduxでの構造と処理の流れ

Reducer

Reducerの概要です。

  • 状態変更ができる唯一の場所
  • 引数が、変更前のState + Action
  • 戻り値が、最新のState
  • Actionごとに存在する関数
  • 副作用なしの純粋関数

現時点でのStateと操作指示(箱)であるActionを渡して最新のStateをゲットする場所(?)なんですね。

Store

3原則では出てこない概念(というとActionも出てきていませんが・・・)ですがReduxで中心となるStoreの概要を列挙しておきます。

  • シングルトン
  • インスタンス時に「AppState」とReducerを保持する
  • 「store.dispatch(action)」メソッドで変更指示
  • 「store.onChange.listen(listener)」メソッドでUIに状態変更を知らせる
    • これから登場するflutter_reduxプラグインではこれを使わず、StoreProviderウィジェットを使うようです。
  • 対になる「onPause」「onResume」「onCancel」メソッドで後処理

最後に

dispatchという言葉はプログラム界隈でよく出現します。

特にWebアプリケーションでよく聞くような気がします。

これを見るたびに英語が苦手は私は「dis(否定)」 + 「patch(パッチ)」 = 「パッチしない」と脳内変換されてしまい内容を理解できないことが多いです😅

※翻訳してみたら「急送・発送・送る」という意味らしいです。

今日はここまで!