这个问题在这里已有答案:
如果初始状态为空,则问题是可以动态添加/修改状态。
description:实际上这个tempObj数据来自后端作为一个对象数组,然后我修改数据并将其分配给tempObj然后我想将它设置为空状态。这样我就可以使用和修改应用程序中的数据了。
我做了什么:我尝试了下面的代码,但当我控制它,它显示空状态。
如果有人可以帮助我,我真的很感激,谢谢
constructor(props) {
super(props);
this.state = {};
}
componentDidMount() {
//actually this tempObj data is coming from backend
//after few loops i am assigning values like this
let tempObj = {
132284688949:{3: false,
5: true,
6: false},
262993790438:{3: false,
8: true,
11: false},
262993790440:{3: false,
8: true,
11: false}};
this.setState(tempObj);
console.log(this.state);
}
你的信息在那里。 setState
是一个异步动作。你的console.log
在你的州改变之前运行。使用你的console.log
作为setState
的回调。
this.setState(tempObj, () => {
console.log(this.state);
});