ReactJS:SetState 似乎没有触发
ReactJS: SetState doesn't seem to be firing
我的 app.js
文件中有此代码:
componentDidMount() {
var newData = {...data};
console.log("New Data: ", newData);
this.setState({data: newData}), () => {
console.log("New state: ", this.state.data);
});
}
在我的控制台日志中:
New Data: {name: {…}, add: {…}, choice: Array(1)}
但是,我没有 console.log("New state: ", this.state.data);
的输出
如果我从“.then()”中取出控制台日志,我会得到以下控制台输出:
New state: []
我是新手,所以非常感谢详细的回答。谢谢。
是你没有通过正确的回调方式。应该是这样的:
this.setState({data: newData}, () => {
console.log("New state: ", this.state.data);
});
我的 app.js
文件中有此代码:
componentDidMount() {
var newData = {...data};
console.log("New Data: ", newData);
this.setState({data: newData}), () => {
console.log("New state: ", this.state.data);
});
}
在我的控制台日志中:
New Data: {name: {…}, add: {…}, choice: Array(1)}
但是,我没有 console.log("New state: ", this.state.data);
如果我从“.then()”中取出控制台日志,我会得到以下控制台输出:
New state: []
我是新手,所以非常感谢详细的回答。谢谢。
是你没有通过正确的回调方式。应该是这样的:
this.setState({data: newData}, () => {
console.log("New state: ", this.state.data);
});