为了账号安全,请及时绑定邮箱和手机立即绑定

React得setState使用push、splice等数组操作新数组为什么也会影响原数组?

React得setState使用push、splice等数组操作新数组为什么也会影响原数组?

万千封印 2019-01-05 22:02:16
问题描述题目描述得不是很清楚. 在这里重新梳理.虽然知道push、splice这些操作会影响原数组. 但是经过state状态存储依然会相互影响吗? 假定现在存在一个数组array, 我通过setState操作了newArray: this.state.array后续我改变newArray也会影响到array的值. 有什么办法解决吗?问题出现的环境背景及自己尝试过哪些方法相关代码componentDidMount() {     let array = [1, 2, 3];    this.setState({         newArray: this.state.array     }) } handleChange() {     let { newArray } = this.state;      newArray.push(4);          console.log(array); }你期待的结果是什么?实际看到的错误信息又是什么?上面结果会输出[1, 2, 3, 4].请问真的是因为push、splice改变原数组导致的吗?有什么办法可以解决?谢谢
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

handleChange() {
    let array = this.state.array;
    let newArray = [...array];
    newArray.push(4);
    console.log(array, newArray);
}


查看完整回答
反对 回复 2019-01-05
  • 1 回答
  • 0 关注
  • 2838 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信