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()不会触发额外的呈现

参考: