注意:react 和 redux原本是没有联系的,它们是经过 react-redux 来进行链接javascript
reducer:改变statejava
例子: store、action和reducer的关系react
(1)声明一个reducer(state,action)redux
参数一:state(当前的 state),函数
参数二:action(当前触发的行为,{type:“XXX”}),返回值,新的statespa
(2)建立 store(reducer,可选)3d
参数一:reducer 用来修改state
code
参数二:[], 默认的state值,若是不传, 则为undefined
对象
store.getState():能够获取当前store的状态(state),
blog默认的值是 createStore 传入的第二个参数
(3)经过 store.dispatch来修改state的状态
注意:在redux里,惟一可以修改state的方法,就是经过 store.dispatch(action)
总结
action:在redux里只是普通的js对象,必须有一个type字段来标识
store:store有两个核心的方法,一个是 getState(获取store状态state),另外一个是 dispatch(修改store状态)
reducer:普通函数,传入两个参数 state(当前状态,可经过store.getState()得到)、action(当前触发行为,经过 store.dispatch(action)调用触发),reducer(state, action) 返回的值,就是store最新的state值。