关于遇到JS深拷贝的问题

关于JS深拷贝的问题

在GuGu_Simple_Upload项目前端中使用table加其他组件控制其Visible时遇到的问题。

使用Ant的Table组件加上其他需要在状态控制显示的组件时遇到的问题

实现的效果如图下所示

alt image-1

点击按钮会显示不同的弹窗,弹窗的显示由组件的visible控制

我是在Table组件里写了Modal,我写的时候我就觉得不对劲,这样写好麻烦,不合理,不应该是这样的,事后去咨询前端朋友才明白他们是怎么写的

因为我这样写,就需要弄个控制显示开关的数组放在状态里

我在读取到数据时就会初始化两个控制显示的数组对应每行两个按钮(我已经在反思我的写法了),就想试试用ES6的扩展运算符去对数组进行Copy

然后发现我点击按钮生成的Modal情况不对劲,所有的Modal都被显示,审视了一下数组,我的结构是[{}],数组包对象,我就想到了Java的对象拷贝问题,前端应该也是一样的

前端的深拷贝基本上有两个方法

  1. 递归拷贝
  2. 转成Json字符串再转回

然后我两个都没选,遍历数据的时候生成对象push到数组里


关于遇到JS深拷贝的问题
https://blog.gugu.dev/2024-02-21/关于遇到JS深拷贝的问题/
作者
MinMin
发布于
2024年2月21日
许可协议