每当React类具有一个或包含数组的状态对象时,更新该状态会感觉很尴尬.通常我做的是
var newArrayThing = _.clone(this.state.arrayThing); //or slice()
newArrayThing[123] = 42; //update stuff
this.setState({arrayThing: newArrayThing});
Run Code Online (Sandbox Code Playgroud)
是否有一种更好或更优雅的方式来处理这个我想念的?特别是因为如果阵列很大并且变化很小,我总觉得这是不必要的慢.所有这些都是为了简单的改变而复制 但国家不应该直接编辑似乎是口头禅.
Facebook文档提到了Immutability Helpers,但它们似乎比这更加遥远.
这是一种非常惯用的方法,但是如果你担心克隆大型数组,那么你一定要查看你提到的更新助手,它并不是那么糟糕:
this.setState({
arrayThing: React.addons.update(this.state.arrayThing, {123: {$set: 42}})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3251 次 |
| 最近记录: |