在 Redux 中是同步的还是异步的 store. 分派

我知道这是一个基本的问题,但我没有运气在别处找到答案。

Reduxstore.dispatch是同步的还是异步的?

如果是异步的,是否有可能在动作传播之后添加回调,因为 React可能做到这一点?

68781 次浏览

AFAIK,调度操作是同步的。如果您愿意处理异步调用,可以使用 redux 中的 Thunk 中间件,其中调度作为一个回调函数提供,您可以根据自己的方便调用该函数。想了解更多信息,请查看作者自己的答案: 如何使用超时发送一个 Redux 操作?

没有人比 自我编码更清楚。=)你可以看到 dispatch是绝对同步的。这里唯一的警告是,存储 enhancers可以(并且确实)替代 dispatch方法。例如,看看 applyMiddleware增强器,它允许您通过用自己的实现替换默认的 dispatch方法来插入中间件。虽然我从来没有看到任何一个 Reduxenhancer实际上会消除同步性质的 dispatch