Axe*_*Sun 3 javascript promise setstate react-native
在组件中,我想使用 fetch API 从数据库中获取一些数据。当获取所有数据时,我想使用 Promise.all() 更改组件的状态:
await Promise.all(data).then(
this.setState({
isLoading: false
})
)
Run Code Online (Sandbox Code Playgroud)
我的问题是 setState() 在 Promise 解决之前触发。然而,这段代码可以工作,但 isLoading 是一个数组而不是布尔值:
this.setState({
isLoading: await Promise.all(data)
})
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?我对 React-Native 有点陌生,所以希望得到一些意见!
你应该这样改变:
await Promise.all(data).then((result) => {
this.setState({
isLoading: false
})
}
)
Run Code Online (Sandbox Code Playgroud)
基本上.then有一个函数作为参数,因此您必须将其放入setState箭头函数中。
| 归档时间: |
|
| 查看次数: |
9329 次 |
| 最近记录: |