gpt4 book ai didi

javascript - Reactjs 状态不更新

转载 作者:行者123 更新时间:2023-12-04 17:21:17 26 4
gpt4 key购买 nike

  constructor(props) {

super(props);
this.state = {
active: false,
showSideBar: false,
className: ""
}
}
componentDidMount() {
if (this.props.overlay) {
this.setState({
className: "wrapper_overlay"
});
alert(this.state.className);
}
else if (this.props.SideBarWithIcon) {
this.setState({
className: "wrapper_clopsed"
});
}
}

我在 props 的帮助下更新我的状态,但是组件正在获取 props 但状态没有更新

最佳答案

setState 是异步的。只需提醒该方法的回调即可。

if (this.props.overlay) {
this.setState(
{ className: "wrapper_overlay" },
() => alert(this.state.className);
);
}

注意:您可以而且应该使用 shouldComponentUpdate 来检查 setState 调用何时完成

关于javascript - Reactjs 状态不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54320478/

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