国家如何更新?

时间:2017-12-02 17:41:38

标签: reactjs

我有以下内容:

constructor() {
   super();
     this.state = {
        lists: [], 
        items: {}              
   };
}

handleAddList(s) {      
    var temp= this.state.lists.slice(0,this.state.lists.length);
    temp.push(s);

    console.log(this.state.items);

       this.setState({lists: temp},function(){

          var ourList = this.state.items;
          ourList[s] = [];

          console.log(this.state.items);

          // var items = Object.assign({}, this.state.items, {[s]: []})

         // this.setState( { items: items } );
       });
}

第一个console.log显示的项目为null。第二个console.log显示更新的项目,其中s值为键,空数组为值。如何更新物品?

所以,这个任务必须是参考:

var ourList = this.state.items;
ourList[s] = [];

这是否意味着以这种方式设置状态是否正常?

我试图遵循一个有关反应的课程,如果有人能指出我的资料,我会很感激。

1 个答案:

答案 0 :(得分:2)

如果除了使用React的setState方法之外,数组中的任何修改都不会在状态中更新。学习反应js的最佳位置是文档React Get Started