应用程序是这样的:
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
,但仍然不起作用。
有什么建议吗?