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

ref和reactive

Vue3 响应式核心:ref与reactive全方位对比及实战指南
先记住一句话 Vue3 里想让数据变了页面自动更新,就两个工具: ref(全能) reactive(只给对象用)

1. ref 是什么?

你可以把它理解成:
一个带“监听功能”的盒子

  • 不管你放什么:数字、字符串、对象、数组都行
  • 盒子本身不变,变的是里面的东西
  • 在 JS 里要写 .value 才能拿到内容
  • 模板里自动拆盒子,不用写 .value

例子:

jsconstcount=ref(0)count.value++// JS 里必须 .valuehtml{{count}}<!--模板自动拆包-->

优点:

  • 可以整个换掉里面的值
  • 基本类型只能用它

2. reactive 是什么?

理解成:
给一个对象“套上监控外套”

  • 只能给对象/数组用
  • 不用 .value ,直接改属性
  • 深层属性也是响应式

例子:

jsconstuser=reactive({name:'张三',age:18})user.age=19// 直接改,不用 .value

缺点:

  • 不能整个换掉对象
  • 一换 = 外套丢了 = 不响应了

3. 最关键区别:能不能整体替换?

ref ✅ 可以整体换

jsconstform=ref({name:'',age:''})form.value={name:'新',age:20}

盒子还在,只是换了内容 → 依旧响应

reactive ❌ 不能整体换

jsconstform=reactive({name:'',age:''})form={name:'新',age:20}// 完蛋!响应断了

你把整个对象换了,监控外套没跟着换

4. 解构会丢响应性(超级常见坑)

不管是 ref 还是 reactive,直接解构都会变普通变量,不再响应。

错误:

jsconststate=reactive({count:0})const{count}=state// 变成普通数字!count++// 页面不更新

正确:

jsimport{toRefs}from'vue'const{count}=toRefs(state)count.value++// 正常响应

toRefs 的作用:把 reactive 里的每个属性都变成 ref

5 ref和reactive 所以真正的关系是:

  • ref 是外层包装

  • 真正做响应式的,还是 reactive + Proxy

一句话总结:
ref = 给基本类型套了个对象壳,再用 reactive 代理这个壳。
因为 reactive不能处理基本数据类型,ref包装成对象就可以了

5. 最简单使用口诀

  • 基本类型(数字、字符串、布尔)→ 用 ref
  • 对象、表单、不想写 .value → 用 reactive
  • 需要重置/整体替换 → 用 ref
  • 要解构 → 用 toRefs

6.总结

  • ref = 万能盒子,能整体替换,基本类型必用
  • reactive = 对象外套,不能整体替换
  • 解构必用 toRefs
  1. 基本类型、对象、数组,全都能用 ref 变成响应式

  2. 如果我处理的是对象,又不想写 .value,就可以用 reactive

  3. 但如果需要替换整个对象,必须用 ref

  4. 因为只有 ref 替换之后不会丢失响应性

  5. 模板里用 ref 包的对象,不需要 .value,模板自动解包

http://www.jsqmd.com/news/375411/

相关文章:

  • NMN推荐,2026年口碑最热门款NMN抗衰产品,2026年NMN口碑榜单解读,科学抗衰与用户体感双重考量 - 资讯焦点
  • Cursor+Claude AI编程 - 利用Cursor生成一个helloWord网页
  • 价值投资AI多智能体系统:AI应用架构师精准决策的关键步骤
  • NMN品牌推荐,吃NMN真能抗衰老吗?2026权威抗衰老补充剂综合测评:NAD+赋能激活细胞活力 - 资讯焦点
  • NMN哪个牌子口碑最好?为什么人会衰老?解码线粒体功能与NAD+流失背后真相与五大权威品牌实测 - 资讯焦点
  • BISHI40数组取精
  • AI Agent的对比学习与表示学习
  • Elasticsearch 聚合分析:大数据统计与可视化的利器
  • 宝妈必藏|2026中国十大童装品牌盘点,好看好穿不踩雷#中国十大童装品牌 #十大童装品牌 - 品牌测评鉴赏家
  • 追求效率与健康的平衡:多筒分区洗衣机推荐与深度选购解析 - 资讯焦点
  • NAD+哪个牌子效果最好?口服抗衰老产品推荐,NMN哪个牌子好?2026真正值得选购的十大NMN品牌 - 资讯焦点
  • 萌娃时尚秘籍:中国十大童装品牌全解析 - 品牌测评鉴赏家
  • YOLOv13涨点改进 | 独家创新,卷积改进篇 | TGRS 2025 | 引入RFEM感受野增强模块,增强特征的全局结构和上下文表达能力,含多种创新改进,助力目标检测、遥感目标检测任务有效涨点
  • 极萌美容仪好用吗?安全与操作体验深度剖析 - 资讯焦点
  • YOLOv13涨点改进 | 独家创新,特征融合涨点改进篇 | TGRS 2025 | 引入ATEM仿射变换融合增强模块,含多种创新改进点,对边缘和纹理信息进行自适应增强,提升小目标和弱目标检测能力
  • 晚间护肤美容仪推荐,极萌三款,高效修护不费力 - 资讯焦点
  • 2026最新十大知名装饰板材品牌推荐榜!优质环保品质与高性价比源头厂家选择指南,适配多场景优质之选 - 品牌推荐2026
  • 美容仪哪个牌子好?五大热门品牌实测,极萌胶原炮凭实力出圈 - 资讯焦点
  • 实用指南:微调阶段中的模型自我提升、通用模型蒸馏和数据扩充
  • 家用什么产品美白效果好?三款神器焕亮肌肤暗沉 - 资讯焦点
  • 2026国内多所知名高校优选的无线信道仿真软件! - 资讯焦点
  • 什么产品抗衰效果好?四款宝藏抗衰好物揭秘! - 资讯焦点
  • __attribute__((constructor))
  • LLM创造力可以被度量吗?一个基于提示词变更的探索性实验
  • 786785678
  • 2026年软考高项信息系统项目管理师认证十大高通过率培训机构老师权威评测 - 资讯焦点
  • Java求职面试:从Spring Boot到微服务的技术问答
  • 2026年GEO公司哪家好?中国GEO服务商综合实力TOP10权威评测榜单 - 资讯焦点
  • 利用openaiagents框架开发天气助手
  • 1.12