Redux操作顺序

时间:2017-12-20 20:08:41

标签: redux react-redux redux-thunk

我保证派遣的操作将在其后的语句(访问上述操作修改的状态)之前完成:

function f() {
  return function( dispatch, getState ) {
    dispatch( myActionCreator() );
    doSomethingWithStateModifiedAbove( getState().x.y.z );
  };
}

或者,我是否需要转向' doSomethingWithStateModifiedAbove'成为动作创作者?

1 个答案:

答案 0 :(得分:0)

是的,默认情况下,dispatch()是100%同步的。到第一个dispatch()调用返回时,根减量函数已执行且状态已更新。对getState()的调用将返回更新后的状态。

也就是说,中间件可以拦截,延迟和修改调度的动作。中间件可能会将操作延迟到稍后,在这种情况下,第一个调度可能会返回但实际上不会导致状态更新。不过,打电话给getState()仍然是安全的。