《Vue3 从入门到大神06篇》ref 还是 reactive?一文搞懂响应式数据的选择
在 Vue3 中我们拥有了两个创建响应式数据的 APIrefreactive于是几乎所有初学者都会遇到同一个问题❓什么时候用 ref什么时候用 reactive​❓为什么 ref 要写.value​❓为什么解构会丢失响应式这篇文章我们就来一次把这些疑问彻底讲清楚。一、一句话结论先给你答案数据类型推荐 API基本类型string / number / boolean✅ref对象 / 数组✅reactive或ref表单字段 / 单个状态✅ref复杂状态对象✅reactive经验法则能用 ref 解决的就用 ref复杂对象再用 reactive。二、ref为基本类型而生1️⃣ ref 的基本用法import { ref } from vue const count ref(0) count.value console.log(count.value) // 12️⃣ 为什么 ref 需要.value因为JavaScript 的基本类型不是对象不能被 Proxy 直接代理。Vue3 的解决方案是ref(0) → { value: 0 }ref 本质用一个对象包裹基本类型对这个对象的value做响应式处理三、reactive为引用类型而生1️⃣ reactive 的基本用法import { reactive } from vue const state reactive({ count: 0, user: { name: Tom } })2️⃣ 使用方式state.count state.user.name Jerry✅不需要.value​✅可以直接访问属性四、ref 和 reactive 的本质区别对比项refreactive包装方式{ value }Proxy支持类型基本 引用仅引用.value必须不需要替换整个对象✅ 支持❌ 丢失响应式解构❌ 易丢响应式✅ 可直接解构五、.value的底层原理面试重点1️⃣ ref 的简化实现function ref(value) { const wrapper { value } return reactive(wrapper) }核心思想ref内部其实也用了reactive只是多包了一层value六、解构为什么会丢失响应式非常重要1️⃣ 错误示例const state reactive({ count: 0 }) const { count } state count // ❌ 不再是响应式2️⃣ 原因图解state.count → Proxy count → 普通数字脱离 Proxy结论解构得到的是“值本身”不是“代理引用”。七、如何正确解构响应式数据✅ 方案 1toRefsimport { reactive, toRefs } from vue const state reactive({ count: 0 }) const { count } toRefs(state) count.value✅ 方案 2保持 state 不变state.count八、ref 和 reactive 的常见误区❌ 误区 1reactive 可以替换 refconst count reactive({ value: 0 }) // ❌ 不推荐原因语义混乱不符合 Vue 设计初衷。❌ 误区 2ref 不能包对象const user ref({ name: Tom })✅这是允许的但注意user.value.name Jerry九、实战选择建议强烈建议收藏✅ 表单场景const username ref() const password ref()✅ 复杂业务对象const user reactive({ id: 1, name: , roles: [] })✅ 组合式函数返回function useCounter() { const count ref(0) const inc () count.value return { count, inc } }十、面试高频问答Q1ref 为什么要.value因为基本类型不能被 Proxy 代理需要包一层对象。Q2reactive 解构为什么会失效解构得到的是原始值脱离了 Proxy。Q3什么时候用toRefs当你需要把 reactive 拆成多个 ref 使用时。十一、总结ref基本类型 单个状态reactive复杂对象.value是 ref 的设计必然解构 reactive 会丢失响应式toRefs是解决手段 下期预告第 07 篇计算属性与侦听器 —— computed 与 watch 的高级玩法

相关新闻

AIBlog:面向AI前沿论文的自主代理式技术解构系统

AIBlog:面向AI前沿论文的自主代理式技术解构系统

1. 项目概述:一个每天替我读完前沿论文的“数字研究员”你有没有过这种体验:早上打开arXiv,首页刷出27篇新论文,标题里一半是“LLM”“Diffusion”“Qwen”“Phi-4”,另一半是“NeRF”“GNN-Sym”“FP8-TMA”——光看标…

2026/6/22 5:10:54阅读更多 →
Win11 装 OpenClaw 频繁报错?一套完整落地部署流程一次性理清

Win11 装 OpenClaw 频繁报错?一套完整落地部署流程一次性理清

📌 一、认识 OpenClaw(小龙虾)及核心亮点 很多人会将 OpenClaw 等同于普通对话类 AI,实际上它是一款可以操控本地电脑的智能数字员工。它能够识别自然语言指令,自主拆解复杂任务、调用系统工具并完成全流程操作&#…

2026/6/22 5:36:51阅读更多 →
OpenCore Legacy Patcher深度解析:3大技术突破让老Mac重获新生

OpenCore Legacy Patcher深度解析:3大技术突破让老Mac重获新生

OpenCore Legacy Patcher深度解析:3大技术突破让老Mac重获新生 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当苹果官方宣布你的Mac设备"寿…

2026/6/22 5:36:07阅读更多 →
SPT-AKI存档编辑器:你的《逃离塔科夫》离线版终极掌控神器

SPT-AKI存档编辑器:你的《逃离塔科夫》离线版终极掌控神器

SPT-AKI存档编辑器:你的《逃离塔科夫》离线版终极掌控神器 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh_mirro…

2026/6/22 6:11:30阅读更多 →
Windows 11系统性能优化实战:从臃肿到高效的完整解决方案

Windows 11系统性能优化实战:从臃肿到高效的完整解决方案

Windows 11系统性能优化实战:从臃肿到高效的完整解决方案 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and…

2026/6/22 6:11:30阅读更多 →
WarcraftHelper:魔兽争霸III终极优化教程 - 解决宽屏、帧率、地图限制三大问题

WarcraftHelper:魔兽争霸III终极优化教程 - 解决宽屏、帧率、地图限制三大问题

WarcraftHelper:魔兽争霸III终极优化教程 - 解决宽屏、帧率、地图限制三大问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽…

2026/6/22 6:11:30阅读更多 →
3步掌握PIDtoolbox:无人机黑盒日志分析的终极免费工具指南

3步掌握PIDtoolbox:无人机黑盒日志分析的终极免费工具指南

3步掌握PIDtoolbox:无人机黑盒日志分析的终极免费工具指南 【免费下载链接】PIDtoolbox PIDtoolbox is a set of graphical tools for analyzing blackbox log data 项目地址: https://gitcode.com/gh_mirrors/pi/PIDtoolbox 你是否曾经面对无人机的飞行日志…

2026/6/22 6:11:30阅读更多 →
夏风满塘色

夏风满塘色

夏风满塘色满眼翠色不知时,倾心风尘难离世。初来人间春秋月,终结九重玉阙词。粉颜染红清静台,绿伞华盖晶莹地。沉水污泥何处洁,浮云青山满塘季。

2026/6/22 6:11:30阅读更多 →
职场邮件安全实战指南:从钓鱼攻击原理到企业级防御体系

职场邮件安全实战指南:从钓鱼攻击原理到企业级防御体系

1. 项目概述:为什么邮件安全是每个职场人的必修课邮件,这个看似古老却依然坚挺的通信工具,至今仍是企业内外沟通的主动脉。但这条动脉,也成了网络攻击者最热衷的“血管穿刺点”。我处理过太多因为一封邮件而引发的安全事件&#x…

2026/6/22 6:06:17阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/22 6:01:42阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/22 1:15:34阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/22 5:42:46阅读更多 →
Codex本地AI编码代理与CC Switch协议适配实战

Codex本地AI编码代理与CC Switch协议适配实战

1. Codex不是“另一个VS Code插件”,而是本地AI编码代理的临界点Codex这个名字,现在被太多人误读了。它不是ChatGPT那个早已停更的旧模型代号,也不是某个新出的VS Code扩展图标——它是2024年中后期悄然浮出水面的一类本地化AI编码代理&#…

2026/6/22 0:04:18阅读更多 →
从MSP430到Flexis QE128:8/32位MCU无缝迁移与低功耗设计实战

从MSP430到Flexis QE128:8/32位MCU无缝迁移与低功耗设计实战

1. 项目概述:当8位MCU遇到性能瓶颈,我们如何优雅升级?在嵌入式开发领域,尤其是电池供电的便携式设备、工业传感器节点或智能家居终端中,我们常常面临一个经典的两难选择:是选择功耗极低但性能有限的8位微控…

2026/6/22 0:04:18阅读更多 →
大语言模型空间推理能力提升:TEXT2SPACE数据集与ASCII增强技术解析

大语言模型空间推理能力提升:TEXT2SPACE数据集与ASCII增强技术解析

1. 项目缘起:当大语言模型“看”不懂空间 最近在折腾大语言模型(LLM)的各种应用时,我发现一个挺有意思的现象:你让模型写首诗、写代码、甚至做逻辑推理,它可能都表现得有模有样。但一旦涉及到需要理解“空间…

2026/6/22 0:04:18阅读更多 →