由于React的setState是异步的,是否建议将其调用包装在async / await函数中,以便后来严重依赖于状态变量的任何东西都会获得更新的值?
答案 0 :(得分:2)
这可能是async / await的实现。例如,在您的反应组件中:
setStateAsync(state) {
return new Promise((resolve) => {
this.setState(state, resolve)
});
}
async setStateAndDoSomethingRightAfter(state) {
await this.setStateAsync({state})
// now do something after
}
但我不确定它是否值得推荐。出于某种原因,存在生命周期方法。
我相信"反应"做事方式是将您的代码置于componentDidMount
/ componentWillUpdate
/ componentDidUpdate
内的新状态。
答案 1 :(得分:2)
您可以使用setState
的第二个参数,一个回调。 DOCS。
this.setState({ key: val }, callBack)