如果初始状态为空,如何修改组件状态? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

如果初始状态为空,则问题是可以动态添加/修改状态。

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);
      }
javascript reactjs react-redux
1个回答
2
投票

你的信息在那里。 setState是一个异步动作。你的console.log在你的州改变之前运行。使用你的console.log作为setState的回调。

this.setState(tempObj, () => {
  console.log(this.state);
});
© www.soinside.com 2019 - 2024. All rights reserved.