【发布时间】:2022-12-03 17:15:05
【问题描述】:
基本上我创建了 1 个状态[isLoading, setIsLoading]=useState(false)
我有 3 个需要调用的 api。
const api1 = ()=>{
setIsLoading(true)
callApi()
setIsLoading(false)
}
const api2 = ()=>{
setIsLoading(true)
callApi()
setIsLoading(false)
}
const api3 = ()=>{
setIsLoading(true)
callApi()
setIsLoading(false)
}
我在 useEffect() 中调用这 3 个函数。
使用 axios 调用 api,
每当任何一个 api 调用成功时,它都会将 setIsLoading() 设置为 false。所以加载动画停止了。
还有其他2个api没有完成。
基本上我需要在完成所有 api 调用后停止加载程序。
在用户界面部分,我只是在做isLoading && <Loader />
- 一个解决方案是创建 3 个状态并使用类似
(isLoading1 || isLoading2 || isLoading3) && <Loader />
但我不喜欢像这样创建多个状态。
有更好的方法来处理这个加载动画吗?
【问题讨论】: