我的理解是生命周期方法是异步的。我希望componentWillMount
中的操作调度能够在render
运行之前解决。
控制异步行为的一种方法是使用promise进行redux操作,使用setState
等待控制render
中的内容:
componentWillMount() {
this.props.myDispatchedAction().then(() => {
this.setState({loaded: true})
})
}
render() {
return (
<div>
{ this.state.loaded ? <div>waited for promise</div> : null }
</div>
)
}
但是,如果只是使用了一个承诺(如果它停止了render
?),你是否可以通过async / await以同样的方式同步它?
async componentWillMount() {
await this.props.myDispatchedAction()
}
答案 0 :(得分:0)
虽然它看起来是同步的,但async/await
基本上是Promise的语法糖。因此,它仍然是异步的,因此功能不应该改变。