View -> Action -> Middleware -> Reducer -> Store -> View …
- store.dispatch(action)をよんでアクションをディスパッチする。actionはtypeフィールドを持つプレーンオブジェクト.
- applyMiddlewareでストアにミドルウェアを積む.
- Reducerによって、渡されたactionとstateから新しいstateを作成する
- 新しく生成されたstateをstoreが保持する
Action
actionはプレーンオブジェクトで、typeフィールドを持たなければならない
{ type: 'TYPE', text: 'SOMETHING' }
Store
- stateの保持/取得/更新
- リスナの登録
let store = createStore(sampleApp); store.dispatch(somethingAction);
Reducer
actionとstateから新しいstateを生成
function sampleApp(state, action) { // something return state }