redux的工作步骤,其实就是组成它自身的三个重要方法,下面用自己的语言简述如下:
(为了简洁,省去了很多细节,不影响理解)
1、某个地方需要改变 state 就显示调用dispatch方法,参数是一个Action 对象,形如:
{ type: 'INCREMENT' }
2、接下来,只要自己写了reduxer,并且绑定过,形如:
const {createStore} = Redux;
const store = createStore(counter);
const counter = (state = 0, action) => {
switch (action.type) {
case 'INCREMENT':
return state + 1;
case 'DECREMENT':
return state - 1;
default:
return state;
}
}
redux就会调用这个reduxer ,根据current state 和action的描述,返回最新的state 状态
3、最后就是subscribe 方法了,形如
const render = () => {
ReactDom.render(
<Counter
value={store.getState() }
onIncrement={
() => store.dispath({
type: 'INCREMENT'
})
}
onDecrement={
() => store.dispatch({ type: 'DECREMENT' })
}
/>,
document.getElementById('app_jerry')
);
};
store.subscribe(render());