Reduxメモ
Redux: Fluxの概念を拡張したstate管理ライブラリ
・Store: アプリの状態(state)とロジックを保持
・Reducer: Storeが保持する状態を変化させる関数
・Action: 状態変化を起こすメッセージオブジェクト
補足)
・FluxにはDispatcherの概念があるが、こちらには無い
以下のような感じで利用。
react-reduxを利用すると、subsribeで変更検知して状態変化、をReactにバインディングできる。結果、Storeの変化でViewも更新される。
import { createStore } from 'redux'; const initialState = { tasks: [] }; function tasksReducer(state = initialState, action) { switch (action.type) { case 'ADD': return { ...state, tasks: state.tasks.concat([action.payload.task]) }; default: return state; } } function onChangeStore() { console.log(store.getState()); } const addTask = (task) => ({ type: 'ADD', payload: { task } }); const store = createStore(tasksReducer); store.subscribe(onChangeStore); store.dispatch(addTask("Learn Redux"));
参考
qiita.com