【发布时间】:2021-03-16 07:05:20
【问题描述】:
我的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()' 中取出控制台日志,我会得到以下控制台输出:
新状态:[]
我是新来的反应如此详细的答案将不胜感激。谢谢。
【问题讨论】:
-
可能是因为“this”在普通函数中未定义为 myFunc(){}。并且需要写槽箭头函数componentDidMount = () => {}
-
@AlexeyNikonov 我认为情况并非如此。我可以
console.log(this.state.data)并显示当前状态,这意味着this不会有问题 -
这样试试。 this.setState({data: newData}, () => {console.log("新状态:", this.state,data});
标签: javascript reactjs setstate