当前位置: 首页 > news >正文

toRefs、storeToRefs实际应用

目录

一、问题

二、原因及解决方法

三、总结


一、问题

1. 通过store中的一个变量来控制  是否显示某条数据

2. 直接使用v-if,但是发现很相似的写法。一个地方有问题,一个地方没有问题。很是奇怪。

二、原因及解决方法

1.写法一 : 通过props传递 store中的数据, 控制 div显示正常

2. 直接在当前组件中使用store中的数据判断:修改hiddenPintuan的值,页面无法及时更新,失去响应式

3. 只测试了 写法一,以为响应式不会丢失。为什么会这样呢? 

4.仔细分析,最终得出结论

        1)写法一:因为useUserStore从父组件中传递到子组件(写在template中的props),根据vue的响应式原理为了简化对dom操作的代码,此时useUserStore在底层是被proxy代理的,所以当useUserStore的属性变化时会动态更新,所以 useUserStore.hiddenPintuan 保持了响应式。

   2)写法二:因为直接解构了useUserStore中的属性,并且没有子组件使用到useUserStore,所以失去了响应式

   3)写法一如果 变更成 直接使用解构的hiddenPintuan也是无效的,因为解构使得hiddenPintuan和useUserStore失去了联系

5.解决方法

1. 对于 store使用 storeToRefs解构数据,就能保持响应式

    当然使用ToRefs也可以,只是因为方法不需要保持响应式,storeToRefs对方法做了过滤,避免了一些意外的错误,性能更好一些

2.对于普通数据使用 ToRefs解构数据,来保持响应式

三、总结

1.恍然大悟🤐,实践才能知道知识的真实含义

2. storeToRefs,toRefs都是用来保证解构 reactive数据时,解构出来的数据能够保持响应式storeToRefs是专门给 store数据使用的, 解构时不会为方法添加响应式

3. props传参携带原始 reactive数据(直接传reactive对象或者reactiveObj.xxx)时,能够自动保持响应式

/*

希望对你有帮助!

如有错误,欢迎指正,谢谢!

*/

http://www.lryc.cn/news/620450.html

相关文章:

  • 图书商城小程序怎么做?实体书店如何在微信小程序上卖书?
  • 机器学习 - Kaggle项目实践(3)Digit Recognizer 手写数字识别
  • 20道HTML相关前端面试题及答案
  • 如何通过WiFi将文件从安卓设备传输到电脑
  • 点图:数据分布的可视化利器
  • PostgreSQL——视图
  • 读书笔记:《我看见的世界》
  • 为什么Integer缓存-128 ~ 127
  • 【Linux学习|黑马笔记|Day4】IP地址、主机名、网络请求、下载、端口、进程管理、主机状态监控、环境变量、文件的上传和下载、压缩和解压
  • 编排之神-Kubernetes微服务专题--ingress-nginx及金丝雀Canary的演练
  • [Oracle数据库] ORACLE基本DML操作
  • 图论Day2学习心得
  • Pytest本地插件定制及发布指南
  • 代码随想录Day50:图论(图论理论、深度搜索理论、所有可达路径、广度搜索理论)
  • python sqlite3模块
  • 高效解决 pip install 报错 SSLError: EOF occurred in violation of protocol
  • 《贵州棒球百科》体育赛事排名·棒球1号位
  • 视频号主页的企业信息如何设置?
  • 消费级显卡分布式智能体协同:构建高性价比医疗AI互动智能体的理论与实践路径
  • 从理论到落地:分布式事务全解析(原理 + 方案 + 避坑指南)
  • 云原生存储架构设计与性能优化
  • 【java实现一个接口多个实现类通用策略模式】
  • GitHub 仓库代码上传指南
  • Python包性能优化与并发编程:构建高性能应用的核心技术(续)
  • OpenBMC中C++策略模式架构、原理与应用
  • Qt基本控件
  • Elasticsearch:如何使用 Qwen3 来做向量搜索
  • 设计模式-策略模式 Java
  • 设计模式基础概念(行为模式):策略模式
  • Swift 实战:用链表和哈希表写出高性能的贪吃蛇引擎(LeetCode 353)