react state为数组时插入值

react state为数组时,如何插入值。在react里,一切皆是状态state,如果想通过改变state修改渲染效果,只能yongsetState。但是setState又是key:value格式,又不能在val这里运行函数。我最开始是这么想的。

var  _userMap = this.state.userMap;
        _userMap.push({
            name:this.state.name,
            pwd:this.state.pwd
        });
        this.setState({userMap:_userMap});

        console.log(this.state.userMap);

在外边把值运算好,然后再赋值进去。但我当时就觉得,肯定有别的办法撒,于是查查查,

this.setState({ 'userMap' : this.state.userMap.concat([  {name:this.state.name,pwd:this.state.pwd}  ])})

但是,很多时候也是不能这么用的,比如对数组进行splice操作时,因为返回值是被删除的字段,所以就会出问题,还是得用第一种方法。

但是遇到可以用的,这么写确实省事。新技能get。

随机浏览