Action
一个对象, type字段来决定执行动作. action会比较多, 单独文件存放. 其他结构自己决定.
Reducer
如何修改state
( state, action ) => state, 描述了如何把state转变成下一个state.
state可以是任何任何数据类型, 但必须是新的对象.
state不能直接修改
如果state相同, react-redux会以为是两个相同的state. 不会执行渲染.
Store获取state
一个全局对象, 把 action , reducer, state 联系在一起
- 维持应用的state
- 提供getState() 方法, 获取state
- 提供 dispatch(action) 方法更新state.
- 通过 subscribe(listener) 注册监听器
1. 创建store
import { createStore } from 'redux';
let store = createStore(reducer, initState);
2. 获取和监听
获取: store.getState()
监听: store.subscribe( ()=>{} )
发起action
store.dispatch( action )