作者:阮琳芷信玲俊岳 | 来源:互联网 | 2022-11-30 21:22
由于React的setState
函数是异步的,因此,您无法在同一函数调用中访问新更新的状态this.setState
,在setState上使用async/await的优缺点是什么,如await this.setState({ newState });
1> Estus Flask..:
没有专家,因为this.setState
没有兑现诺言,履行诺言await
没有良好的目的。
应该被承诺以便与await
:
const setStateAsync = updater => new Promise(resolve => this.setState(updater, resolve))
由于setState
通常的用法,通常不会有太多使用。如果需要依赖先前设置的状态,则可以使用更新程序功能。
2> Shubham Khat..:
await
关键字需要用于返回Promise的表达式,虽然setState
是异步的,但它不会返回Promise,因此await将无法使用它.setState
提供callback
跟踪是否已完成.
你会使用回调之类的
this.setState({
newState
}, () => {
console.log(this.state.newState)
})
Here is a demo
这表明setState不起作用 async await