Vue3 中的 ref 和 reactive,到底该怎么选?

Vue3 中的 ref 和 reactive,到底该怎么选?

Vue3 的 Composition API 引入了两个核心概念:ref 和 reactive,它们是响应式的基石。但不少人搞不清楚两者什么时候该用谁,写着写着还会报错或数据不更新。

别急,这一篇文章帮你分清它们的本质差异、使用场景和最佳实践

🧠一句话区别:

  • ref 用于基本类型(如数字、字符串),或者想包装成响应式的单个变量
  • reactive 用于对象或数组,让整个结构响应式。

🧪 示例对比:

js

复制编辑

// 引入响应式 API

import { ref, reactive } from 'vue'

// 基本类型用 ref

const count = ref(0)

count.value++ // 访问和修改都要 .value

// 复杂对象用 reactive

const user = reactive({

name: 'Tom',

age: 18

})

user.age++ // 直接访问,无需 .value

❗你可能遇到的问题:

  1. 👇这段代码会出错或不起作用:

js

复制编辑

const obj = ref({ name: 'Vue' })

obj.name = 'React' // ❌ 错了!

因为 ref 包装后,正确写法是:

js

复制编辑

jrhz.info

obj.value.name = 'React' // ✅ 正确

  1. ref 里的对象取值太麻烦?可以用 toRefs 或 reactive 代替:

js

复制编辑

const obj = reactive({ name: 'A', age: 20 })

const { name, age } = toRefs(obj)

🎯使用建议总结:

场景推荐使用基础数据(数字、布尔、字符串)ref表单数据、用户信息(对象)reactive单个响应式值包装ref多个值封装且需解构reactive + toRefs

📌 常见辅助函数:

函数用途ref()创建响应式变量(基础类型)reactive()创建响应式对象(深层响应)toRefs()把 reactive 对象转换成 reftoRaw()获取响应式对象的原始数据

引用地址:https://blog.csdn.net/qqqdqd/article/details/149209167

猜你喜欢

AION UT用户调研报告谁在买AION UT?Ta们为啥放弃星愿和海豚

今天分享的是:? 报告共计:27页 本报告聚焦2025年中国AI智能眼镜行业,AI智能眼镜是融合AI技术的智能穿戴设备,具备独立操作系统,可实现音频、翻译、拍摄等功能,分为AI音频眼镜、AI拍摄眼镜和AI+A…

AION UT用户调研报告谁在买AION UT?Ta们为啥放弃星愿和海豚

电梯选购|小白必藏!避开这些坑,立省好几万

- 中国电梯行业十大品牌之一,市场占有率领先!) - 杭州西奥电梯采用AI智能安全监测系统,实时预警潜在风险,安全系数更高! -很多小品牌承诺“终身保修”,但实际售后响应慢,甚至配件停产! - 建议选…

电梯选购|小白必藏!避开这些坑,立省好几万

35+法令纹、眼角纹大救星!就靠这瓶“冻龄保鲜”精华!28天紧致

真空保鲜,洁净密封: 瓶身设计 真空保鲜, 洁净密封 活性成分, 稳定活性,用到最后一滴都是鲜活的! 【然舒可因紧致抗皱精华液】,用“冻龄三角” 精准狙击你的每一条纹路、每一寸松弛,用 “活性保鲜舱” 保证…

35+法令纹、眼角纹大救星!就靠这瓶“冻龄保鲜”精华!28天紧致

重庆施鲁逊智能科技取得翻盖杯托检测设备专利,解决无法模拟人手对盖板按压检测盖合力的问题

金融界2025年7月9日消息,国家知识产权局信息显示,重庆施鲁逊智能科技有限公司取得一项名为“一种翻盖杯托检测设备”的专利,授权公告号CN223077875U,申请日期为2024年09月。 专利摘要显示,本实…

重庆施鲁逊智能科技取得翻盖杯托检测设备专利,解决无法模拟人手对盖板按压检测盖合力的问题

美标高强紧固件A193 B8M螺栓(内外六角可定制)

美标高强紧固件A193B8M螺栓(内外六角可定制)凭借其高强度、优异的耐腐蚀性以及灵活的定制能力,成为结构安全和性能保障的重要选择。通过对其特点与其他紧固件的对比,可以看出其在特殊环境和关键工程中的应用优势…

美标高强紧固件A193 B8M螺栓(内外六角可定制)