gpt4 book ai didi

reactjs - react ,带有异步更新程序参数的setState?

转载 作者:搜寻专家 更新时间:2023-10-30 21:01:52 24 4
gpt4 key购买 nike

有人知道在 React 中是否可以在 setState(updater) 中使用异步更新程序参数吗?我有以下不起作用的代码(调用了 f 但 UI 未更新):

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
}
}

关于reactjs - react ,带有异步更新程序参数的setState?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com