Javascript 使用react开发时深度复制对象

Javascript 使用react开发时深度复制对象,javascript,reactjs,object,deep-copy,Javascript,Reactjs,Object,Deep Copy,开发时深度复制对象是否必须进行实践? 或者像Object.assign()这样的浅层复制方法就足够了吗?浅层复制实际上是首选方法,因为它表明某些属性值没有更改。Object.assign将仅为一个级别创建深度复制。它创建其子对象的浅拷贝。使用嵌套组件时,使用浅复制和传递引用是有问题的 在回答您的问题时,建议使用深度复制而不是对象。赋值就像将对象的任何属性传递给子组件一样,此子对象中的更改不会反映到子组件,因为它是浅复制。在某些情况下,浅拷贝不会触发更改检测 最好的方法是您可以使用模式。React

开发时深度复制对象是否必须进行实践?
或者像Object.assign()这样的浅层复制方法就足够了吗?

浅层复制实际上是首选方法,因为它表明某些属性值没有更改。

Object.assign将仅为一个级别创建深度复制。它创建其子对象的浅拷贝。使用嵌套组件时,使用浅复制和传递引用是有问题的

在回答您的问题时,建议使用深度复制而不是对象。赋值就像将对象的任何属性传递给子组件一样,此子对象中的更改不会反映到子组件,因为它是浅复制。在某些情况下,浅拷贝不会触发更改检测


最好的方法是您可以使用模式。

React不强制/推荐任何一种方法。我不在乎。是您的数据流体系结构,它通常指示如何处理您的状态。i、 e Redux大力提倡不可变的数据结构,最常见的是通过使用不可变的JS来实现。一般来说,特别建议使用不可变数据结构,因为它们是多线程安全的,可以通过意外更新来消除错误。但它自己并不关心它。在这种情况下,一个可以是react、angular、vue或下一个。如果您的体系结构允许,不可变的结构将始终更干净、更安全,应该使用它