我意识到这是一个基本问题,但我没有在其他地方找到答案。
store.dispatch
中的Redux
是同步还是异步?
如果它是异步的,可以在传播动作之后添加回调,因为React
可能会这样做吗?
答案 0 :(得分:57)
AFAIK,调度动作是同步的。如果您愿意解决异步调用,可以使用redux中的thunk-middleware,其中dispatch作为回调函数提供,您可以根据自己的方便调用它。有关详细信息,请通过作者本身查看此答案:How to dispatch a Redux action with a timeout?
答案 1 :(得分:41)
没人知道比code itself更好。 =)正如您所看到的,dispatch
绝对是同步的。这里唯一的警告是商店enhancers
可以(并且做)替换dispatch
方法。例如,看看at applyMiddleware
enhancer,它可以让你通过用它自己的实现替换默认的dispatch
方法来插入中间件。虽然我从未见过任何Redux enhancer
,它实际上会删除dispatch
的同步特性。