#author("2017-05-13T05:55:19+00:00","default:admin","admin") **Redux [#aeb509ae] #author("2017-05-13T05:55:59+00:00","default:admin","admin") -[[React+Redux入門:http://qiita.com/erukiti/items/e16aa13ad81d5938374e]] -[[Redux入門【ダイジェスト版】10分で理解するReduxの基礎 - Qiita:http://qiita.com/kiita312/items/49a1f03445b19cf407b7]] -[[Redux入門 6日目 ReduxとReactの連携(公式ドキュメント和訳) - Qiita:http://qiita.com/kiita312/items/d769c85f446994349b52]] -[[Reduxのファイル構成は『Ducks』がオススメ:http://qiita.com/uryyyyyyy/items/a88f37b76fe434c62bac]] -[[redux-promiseの使い方:http://qiita.com/takaki@github/items/42bddf01d36dc18bdc8e]] -Reduxは、ReactJSが扱うUIのstate(状態)を管理をするためのフレームワーク -Reactではstateの管理するデータフローにFluxを提案しているが、ReduxはFluxの概念を拡張してより扱いやすく設計されている -Reduxはstateを管理するためのライブラリなので、React以外にもAngularJSやjQueryなどと併せて使用することもできる **Reduxの3原則 [#ic899b8e] +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な関数にする