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。