如何分派两个动作,第一个动作完成后的第二个动作

时间:2021-06-30 13:14:55

标签: javascript reactjs redux react-redux react-hooks

应用程序是这样的:

  • actionGetData - 它分派 API 获取请求,该请求检索一些数据并将其显示在应用程序中。第一次在主组件中调度
  • actionToggle - 应用中有一个切换按钮,当点击该按钮时,它会修改上面显示的数据中的一个值,向服务器发送 PUT 请求

问题是屏幕上的数据没有更新,所以我假设我们需要再次调用 actionGetData

我认为它应该通过 async await 完成,所以 actionGetData 等待 actionToggle 进行更改。这是正确的做法吗?

这是代码:

const ChildComponent = () => {
   const dispatch = useDispatch();
   const { data } = useSelector((state) => state.myData, shallowEqual);
   
   const toggleValue = (value) => {
      const payload = { resource: !value };
      dispatch(actionToggle(payload));
      dispatch(actionGetData());
   }

  return (
     <div>
      ...
      <button onClick={() => toggleValue(value)}>click me</button>
     </div>
  );
}

在这种情况下似乎不起作用,尝试使切换功能异步:const async toggleValue = ... 并在分派操作之前添加 await,但仍然不起作用。

有什么建议吗?

0 个答案:

没有答案