老师,请教一个关于使用VueX里面数据的问题

来源:11-4 使用 computed 完成订单价格计算

目訫

2021-03-20

关于Store里面的值,

如果直接点,计算属性就可以监听到值发生了变化

const cartList = store.state.cartList

如果直接解构,计算属性也可以监听其变化

const { cartList } = store.state

如果用toRefs包裹也会监听到变化

const { cartList } = toRefs(store.state)

老师,这是为什么?不是说过Vuex会将数据转化成reactive包裹的数据,需要用toRefs解构吗?为什么这三种做法一点区别也没有?如果以后我要用状态管理里面的值,我应该用哪种,怎么用,老师?

写回答

2回答

Dell

2021-03-20

这是因为它做了很多的兼容,每一层都变成了一个reactive 数据,我建议还是用 toRefs这样标准的使用方式

0
3
weixin_慕前端5001913
回复
weixin_慕尼黑2291373
怎么我用toRefs解构,计算属性监听不到变化,我理解的是toRefs会解构出来的响应性数据再包裹一层代理,相当于指向指针的指针,感觉没有必要
2021-09-27
共3条回复

慕用4509656

2022-07-21

如果vux中state中的值是预先定义好的,那么就不需要toRefs,因为预先定义的都是响应式state

如果需要动态的添加state中一些数据结构,那么后添加的数据都不是响应式的,就需要用toRefs包裹。

1
0

Vue3入门与项目实战 掌握完整知识体系

明星讲师DELL亲授,全方位知识点+高匹配度项目,入门到深度掌握

3382 学习 · 1454 问题

查看课程