【问题标题】:Redux order of operationsRedux 操作顺序
【发布时间】:2017-12-20 20:08:40
【问题描述】:

我是否保证调度的动作将在它后面的语句之前完成(访问上述动作修改的状态):

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

或者,我是否需要将“doSomethingWithStateModifiedAbove”变成动作创建者?

【问题讨论】:

    标签: redux react-redux redux-thunk


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 2018-04-28
      • 2017-11-03
      • 1970-01-01
      • 2020-09-10
      • 2016-02-15
      • 1970-01-01
      相关资源
      最近更新 更多