问题是如果初始状态为空,则可以动态添加/修改状态。
描述:实际上这个 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);
});
关于javascript - 如果初始状态为空,如何修改组件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48016972/