React生命周期方法中的承诺会暂停后续生命周期方法吗?

时间:2017-09-19 01:14:28

标签: reactjs asynchronous react-redux lifecycle

我的理解是生命周期方法是异步的。我希望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()
}

1 个答案:

答案 0 :(得分:0)

虽然它看起来是同步的,但async/await基本上是Promise的语法糖。因此,它仍然是异步的,因此功能不应该改变。