Redux使用の探究


動機
現在、Reactまたはvueを用いて単一ページアプリケーションを開発することがますます一般的になっている.プロジェクトがますます大きくなると、変化するstateの管理がますます難しくなります.あちこちに散らばっているかもしれません.様々なstateを管理するために統一された容器が必要である.ReduxJavaScript状態容器である.reactvueとは直接関係ありません.ただ、ちょうど両者を結びつけてよく発揮することができます.
三大原則
Reduxは、この3つの基本原則で説明できます.
単一データソース
アプリケーション全体のstateは1つのobject treeに格納され、このobject treeは唯一のstoreにのみ存在する.
Stateは読み取り専用です
stateを変更する唯一の方法はactionをトリガすることであり、actionは発生したイベントを記述するための一般的なオブジェクトである.
純粋な関数を使用した変更actionstate treeをどのように変更するかを説明するには、reducersを記述する必要があります.Reducerは、以前のstateおよびactionを受信し、新しいstateに戻る純粋な関数にすぎない.最初はreducerしかありませんでしたが、アプリケーションが大きくなるにつれて、それを複数の小さなreducersに分解して、state treeの異なる部分をそれぞれ独立して操作することができます.reducerは関数にすぎないので、呼び出された順序を制御したり、追加のデータを入力したり、多重化可能なreducerを作成したりして、共通のタスクを処理することができます.ページング機のようです.
APIドキュメントReduxのAPIは非常に少ない.Reduxは、stateの管理方法にのみ関心を持っていることを覚えておいてください.実際のプロジェクトでは、react-reduxなどのUIバインドライブラリを使用する必要があります.実際にはstateの変化時の傍受を処理してあげました
createStore
生成storecombineReducers
複数の小さなreducersを1つのreducerに組み合わせる
applyMiddleware(...middlewares)
Actionミドルウェア
bindActionCreators
dispatchを使わなくてもよいactionを生み出す(あまり役に立たないような気がする)
compose
複数のミドルウェアを組み合わせる