javascript - 如果初始状态为空,如何修改组件状态?

标签 javascript reactjs react-redux

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

描述:实际上这个 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/

相关文章:

javascript - 单击外部 div - 当 div 具有触发事件的按钮时 - angularjs

javascript - 通过 JavaScript 函数调用时,Rails 部分未呈现

javascript - 使用用户定义的 SVG 多边形

javascript - 如何在React中识别material-ui slider ?

javascript - React Reconciliation 是这样工作的吗?

reactjs - React Material UI 表名称排序似乎有点不对劲

javascript - 将数据推送到我的 Redux 状态

javascript - 如何从 HTTPS 页面 POST 数据到 HTTP 页面

reactjs - 如何使用 react-redux 将错误 500 全局重定向到页面

reactjs - Redux:请求成功或来自组件的错误(使用redux-saga)