Reactjs:在状态下修改大型数组中的对象的正确方法是什么?
一个数组中有数千个对象存储在状态中,如下所示:Reactjs:在状态下修改大型数组中的对象的正确方法是什么?,reactjs,Reactjs,一个数组中有数千个对象存储在状态中,如下所示: state: { data: [{name: 'a', status: true}, {name: 'b', status:false}, ...] } this.state.data.length > 10000 我想修改数组中的一些状态,比如将status从this.state.data[1000]设置为this.state.data[3000]设置为true 我曾经先将数据克隆到一个新的阵列中,但是我遇到了一些性能问题。由于
state: {
data: [{name: 'a', status: true}, {name: 'b', status:false}, ...]
}
this.state.data.length > 10000
我想修改数组中的一些状态,比如将status
从this.state.data[1000]
设置为this.state.data[3000]
设置为true
我曾经先将数据克隆到一个新的阵列中,但是我遇到了一些性能问题。由于克隆中只有对象引用,因此在修改克隆数组时,仍在修改实际对象。所以我不知道克隆阵列是否仍然有意义
什么是正确的方法呢?我们必须处理这种情况
import update from 'react-addons-update'
this.setState(
{
data: update(this.state.data,{
[indexToChange] : {
status: {$set: true}
}
})
}
我必须处理这种情况
import update from 'react-addons-update'
this.setState(
{
data: update(this.state.data,{
[indexToChange] : {
status: {$set: true}
}
})
}