Pinia 解构 store
在 Pinia 是不允许直接解构是会失去响应性的
const Test = useTestStore()
const { current, name } = Test
console.log(current++, name); // 修改 Test current 解构完之后的数据不会变
解决方案可以使用 storeToRefs
import { storeToRefs } from 'pinia'
const Test = useTestStore()
const { current, name } = storeToRefs(Test)
其原理跟 toRefs
一样的给里面的数据包裹一层 toref
源码通过 toRaw
使 store 变回原始数据防止重复代理
循环 store 通过 isRef
, isReactive
判断,如果是响应式对象直接拷贝一份给 refs 对象,将其原始对象包裹 toRef
使其变为响应式对象
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Pinia 初始化 store
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论