gpt4 book ai didi

javascript - 在 componentWillMount 中调用 setState 后,渲染中的状态是否得到保证

转载 作者:行者123 更新时间:2023-12-03 14:32:09 26 4
gpt4 key购买 nike

如果我在 componentWillMount 中调用 setState ,状态是否保证存在于 render 方法中?请注意,我没有在回调中调用 setState。

Facebook 声明:“componentWillMount 在 render() 之前调用,因此在此方法中同步调用 setState() 不会触发额外的渲染。”

引用“不触发额外的渲染”对我来说有点暗示 this.state 将是 componentWillMount 中设置的内容,但我并不完全清楚如果是这样的话。有人可以透露更多信息吗? (由于 setState 是一个异步操作,我不确定是否引入了竞争条件,或者在 中的 setState 之后是否保证了渲染生命周期方法组件WillMount)

例如:

class Blah extends Component {
componentWillMount() {
this.setState({ someState })
}
render() {
// this.state.someState <--- guaranteed to be the value I set in componentWillMount?
}
}

最佳答案

是的,正如 React 文档中所述,不需要额外的渲染:

componentWillMount() 在安装发生之前立即调用。它在render()之前调用,因此在该方法中同步调用setState()不会触发额外的渲染。

引用:https://reactjs.org/docs/react-component.html#componentwillmount

关于javascript - 在 componentWillMount 中调用 setState 后,渲染中的状态是否得到保证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47054555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com