React.js状态值为数组,怎么使用setState比较合适

#1

用setState会触发render的方法,现在面临的一个问题是,state是一个数组,貌似用this.state.array.push不太合适,请问一般都是怎么操作的?一定要重新定义一个中间数组newArray存储,然后再setState({“array”: newArray})

#2

理论上来说,最好是

setState({ 'arrary': [...this.state.array, newItem]})
#3

擦,推荐ImmutableJS,这个库不错!

#4

setState({ ‘array’ : this.state.array.concat([neItem])})

#5

请看文档 http://reactjs.cn/react/docs/update.html 建议看ImmutableJS

1 Like
#6

[…this.state.array, newItem],这个用法,是怎么个用法啊???感觉不大理解啊