请问一下,为什么我子组件中对props中的值进行处理,父组件中的值也会发生变化? (原谅我画图难看)
可以看下父子组件的代码嘛
记住了,都是同一个引用。react不会给你深克隆的。
我也觉得ta是父子用同一个引用 但是感觉直接操作props的值有点奇怪 ╮(╯▽╰)╭
已经改过来了 我之前都是 const add = this.state.add的,现在是直接使用slice复制新的数组进行传递的
当时做的时候没想到过会出现这个问题,所以父组件传值以后 子组件里面拿过来就直接用了 现在知道了 以后会先复制成新的在处理的
其实一般是在子组件内部拿到之后复制再用,这样的话比如以后把子组件抽离出去作为单独组件使用的时候,其他使用方就不需要深复制一遍再传入了
其实我复制了,但是我应该复制错了 当时写的是 const data = this.props.add,结果出问题了,现在就直接用加上slice了
官网推荐的也是不直接修改数据,通过slice等复制,再替换。