有人知道在React中是否可以在setState(updater)中使用async updater参数?我有以下代码无效(f被调用,但UI未更新): this.setState( async (prevState) = ({ foo: await f(prevState.someData)})) 显然async参数是个问题
this.setState( async (prevState) => ({ foo: await f(prevState.someData) }))
显然async参数是个问题.我不得不使用这个丑陋的替代版本:
this.setState( async (prevState) => { this.setState({ foo: await f(prevState.someData) }) })
有没有更好的方法来编写上面的代码?
然后你可以setState两次.this.setState((prevState) => { f(prevState.someData); // Don't change state now. return {}; }) async f(someData) { this.setState(prevState) { // Do something } }