如何在redux中使用DIspatch中的回调?

Pus*_*tha 3 reactjs redux

我正在查看redux的文档,文档中没有回调字段。但是setState方法中有回调。难道dispatch方法不负责setState函数吗?如何在 redux 的调度方法中进行回调?

Est*_*ask 6

React之所以setState有回调参数,是因为React状态更新是异步的。需要执行取决于更新状态的代码:

this.setState(..., () => {
  console.log('state updated');
});
Run Code Online (Sandbox Code Playgroud)

Redux 的情况并非如此。dispatch是同步的,因此在那里进行回调是没有意义的。预计会在dispatch调用后立即发送一个操作:

dispatch(...);
console.log('store updated');
Run Code Online (Sandbox Code Playgroud)

难道dispatch方法不负责setState函数吗?

事实并非如此。Redux 存储是 React 组件状态的替代方案。它不在setState内部使用。