Javascript 在componentWillMount中调用setState之后,渲染中的状态是否得到保证
如果在Javascript 在componentWillMount中调用setState之后,渲染中的状态是否得到保证,javascript,reactjs,Javascript,Reactjs,如果在componentWillMount中调用setState,该状态是否保证存在于render方法中?注意,我不是在回调中调用setState Facebook声明:“componentWillMount在render()之前调用,因此在此方法中同步调用setState()不会触发额外的渲染。” 引用“不触发额外渲染”对我来说意味着这个状态将是组件willmount中设置的状态,但我不完全清楚是否是这种情况。有人能再亮一点吗?(由于setState是一个异步操作,我不确定是否引入了竞争条件,
componentWillMount
中调用setState
,该状态是否保证存在于render
方法中?注意,我不是在回调中调用setState
Facebook声明:“componentWillMount在render()之前调用,因此在此方法中同步调用setState()不会触发额外的渲染。”
引用“不触发额外渲染”对我来说意味着这个状态将是组件willmount
中设置的状态,但我不完全清楚是否是这种情况。有人能再亮一点吗?(由于setState
是一个异步操作,我不确定是否引入了竞争条件,或者在组件中的setState
之后是否保证渲染生命周期方法将装入)
例如:
class Blah extends Component {
componentWillMount() {
this.setState({ someState })
}
render() {
// this.state.someState <--- guaranteed to be the value I set in componentWillMount?
}
}
类Blah扩展组件{
组件willmount(){
this.setState({someState})
}
render(){
//this.state.someState是,它将在没有React文档中所述的额外渲染的情况下:
componentWillMount()在装入之前立即调用。它在render()之前调用,因此在此方法中同步调用setState()不会触发额外的呈现
参考: