Zal*_*oza 2 flux redux react-redux
因为它保证按时间store.dispatch返回,状态已经改变了?如果是这种情况,那么为什么不通过调度调用返回newState?
store.dispatch( action1() );
store.dispatch( action2() );
Run Code Online (Sandbox Code Playgroud)
一个示例,我将在action1中登录用户,然后我要触发另一个将使用LOGEDIN用户信息来进一步更改状态的操作。因此,我想确保除非action1已成功更改状态,否则不会触发action2。
因此,在store.dispatch返回时,是否保证状态已经改变?
减速器示例:
function reducer(state, action){
// please ignore that i will mutate state, just for sake of simplicity of example.
if(action.type==='ACTION1'){
state.user_id = action.payload;
return state;
}
if(action.type==='ACTION1'){
state.value2 = state.user_id * action.whatEver;
return state;
}
return state;
}
Run Code Online (Sandbox Code Playgroud)
我当前的保护是我使用React.component监视对user_id的更改,然后触发action2,但是如果Redux Actions是同步的,则可以在action1之后直接触发action2并减少我的样板。
是的,默认情况下dispatch()
为100%同步。中间件可以拦截动作,并可能以其他异步方式延迟动作或修改行为。但是,dispatch
除此之外,可以保证在返回时间之前,根减速器已完成运行,已交换了当前状态值,并已通知订户。
归档时间: |
|
查看次数: |
1746 次 |
最近记录: |