数组引用问题
来源:5-20 订单页面开发(公共ScrollView模块开发)

ofeliaLee
2019-05-22
老师你好,这块儿我在添加ScrollView组件一开始渲染出来时这样的,大概察觉到是数组push({type: ‘more’})这块的逻辑问题,然后对比源码看到这条代码,对数组进行复制再操作就解决了,
let _list = JSON.parse(JSON.stringify(list)); //复制数组防止引用
但我还是不太理解为什么不复制数组就会出现上面那种情况…
写回答
1回答
-
吕小鸣
2019-05-22
同学你好,这块逻辑其实是redux引起的。1.数据存在store里面,直接从store里面拿到数组进行操作,会直接影响store的值,但是这不是我们想要的。2.我们需要通过action的当时去修改store,所以我们就需要一个干净的纯数据,就用了json.stringify json.parse拷贝一个对象来操作。
00
相似问题