首页 > 解决方案 > ReactJS:SetState 似乎没有触发

问题描述

我的app.js文件中有这段代码:

componentDidMount() {
     var newData = {...data};
     console.log("New Data: ", newData);

     this.setState({data: newData}), () => {
        console.log("New state: ", this.state.data);
     });
}

在控制台日志中,我有:

新数据:{name: {…},添加:{…},选择:Array(1)}

但是,我没有输出console.log("New state: ", this.state.data);

如果我从 '.then()' 中取出控制台日志,我会得到以下控制台输出:

新状态:[]

我是新来的反应如此详细的答案将不胜感激。谢谢你。

标签: javascriptreactjssetstate

解决方案


这是因为您没有通过正确的回调方式。它会是这样的:

this.setState({data: newData}, () => {
        console.log("New state: ", this.state.data);
 });


推荐阅读