getState 在调度调用后总是返回最新状态吗?

Tay*_*ine 2 redux redux-thunk

如果我有这样的代码,

    dispatch({
        type: actionTypes.ABCD,
        ...newInfo,
    });
    const state = getState();
Run Code Online (Sandbox Code Playgroud)

我可以 100% 相信state是最新状态吗?或者是dispatch异步的,我无法保证状态是否已更新?

mar*_*son 5

是的。对 的调用dispatch()本身是 100% 同步的。返回时dispatch(),根减速器已运行,状态值已更新,并且所有订阅者已收到通知。所以是的,立即调用getState()afterdispatch()将返回最新值。

需要注意的是,任何中间件都可以拦截、延迟或修改已分派的操作。因此,最终答案取决于您安装的中间件以及它们的配置方式。