不要在原数组上改
- 如果只是简单的单纯数组,就用 slice 浅拷贝一下再改,
- 如果是对象数组,就用 let two_brand = one_brand.map(o => Object.assign({}, o)) 的方法 深刻拷贝一下再改。
用深拷贝或浅拷贝保证了元数据不变
浅拷贝代示范
handlerChangeRecord = (recordIndex, e) => {
let recordTemp = this.state.record.slice()
recordTemp[recordIndex] = e.target.value
this.setState({
record: recordTemp
})
}
console.log('000',this.state.record)//不变
console.log('recordTemp',recordTemp)//变了