React Hook同步完成后应用函数

问题描述 投票:0回答:0

我正在构建一个反应组件作为功能组件。 我要把它缩小到一个最小的问题,你可以把它想象成一个包含从外部 API 获取的数据的数据网格,这些数据被保存到该状态,以便它可以用于数据网格。

[orders, setOrders]  = React.useState(getSomeIntialValuesToShowWhileFetching())

然后我有 useEffect 钩子只在安装时运行以获取数据。

useEffect(() => {
let res = await getDataFromApi();
setOrders(res);

}, [])

到目前为止一切顺利。现在我有另一个计算,需要在订单填充数据后完成,将其视为所有订单的总和。 由于

 setOrders(res)
的异步性质,我该如何实现这一点?

我尝试使用另一个 useEffect,它的依赖数组中有命令。这里的问题是这也会在组件的初始安装上运行。

由于 setOrders 是异步的但不返回 Promise,我看不到等待它或将其与 then 操作链接的方法。

感谢您的回答,因为我仍在学习如何处理钩子。

reactjs asynchronous react-hooks
© www.soinside.com 2019 - 2024. All rights reserved.