Redux †
- Reduxは、ReactJSが扱うUIのstate(状態)を管理をするためのフレームワーク
- Reactではstateの管理するデータフローにFluxを提案しているが、ReduxはFluxの概念を拡張してより扱いやすく設計されている
- Reduxはstateを管理するためのライブラリなので、React以外にもAngularJSやjQueryなどと併せて使用することもできる
Reduxの3原則 †
- Single source of truth
- アプリケーション内でStoreは1つのみとし、Stateは単独のオブジェクトとしてStoreに保持される
- State is read-only
- Stateを直接変更することはできず、actionをStoreへdispatchすることでしかStateは変更できない
- Mutations are written as pure functions
- Stateを変更する関数(Reducer)はpureな関数にする