修改數組的某個值
不要在原數組上改
- 如果只是簡單的單純數組,就用 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)//變了