Vue3中ref和reactive的区别

server/2025/1/21 9:56:43/

在 Vue 3 中,ref 和 reactive 都是用于响应式编程的 API,但它们有不同的使用场景和行为。以下是它们之间的区别:

1. ref

  • 用途:用于创建基本数据类型(如字符串、数字、布尔值)或对象的响应式引用。
  • 数据类型:可以用来包装任何类型的值,包括基本数据类型和对象。
  • 访问方式:如果使用 ref 包装一个对象或基本类型,访问值时需要使用 .value
    • 例如:const count = ref(0); count.value = 1;
  • 适用场景:适用于对单个变量或基本类型的响应式绑定,尤其是当你需要直接操作值时。

2. reactive

  • 用途:用于创建对象或数组的响应式数据。

  • 数据类型:专门用于对象、数组或其他复杂数据类型的响应式。

  • 访问方式:访问时不需要 .value,直接访问属性即可。

    • 例如:const state = reactive({ count: 0 }); state.count = 1;
  • 适用场景:适用于管理包含多个属性或复杂结构的数据。

关键区别:

  • ref 适用于原始类型(如数字、字符串、布尔值等),而 reactive 更适用于对象和数组。
  • ref 需要通过 .value 来访问值,而 reactive 直接使用数据对象进行操作,不需要 .value

示例:

// 使用 ref
const counter = ref(0);    // 对一个数字进行响应式处理
counter.value = 1;         // 修改值// 使用 reactive
const state = reactive({   // 对对象进行响应式处理count: 0,name: 'Vue'
});
state.count = 1;           // 直接修改对象属性

总结:

  • ref 适用于单一值或基本类型,reactive 适用于对象和数组。
  • 对于 ref 需要使用 .value 来访问和修改值,而 reactive 可以直接操作对象属性。

http://www.ppmy.cn/server/160147.html

相关文章

ios文件管理,沙盒机制以及如何操作“文件”APP,把文件共享到文件app

首先,系统是一个整体,那每个app是相互独立的,系统为每个app分配了一定的存储空间,也就是我们说的沙盒,每个app有自己独立的沙盒,文件存储在沙盒中,正常情况下app相互之间数据是不可以共享以及访…

2024:成长、创作与平衡的年度全景回顾

文章目录 1.前言2.突破自我:2024年个人成长与关键突破3.创作历程:从构想到落笔,2024年的文字旅程4.生活与学业的双重奏:如何平衡博客事业与个人生活5.每一步都是前行:2024年度的挑战与收获6.总结 1.前言 回首2024年&a…

华为云Ubuntu中安装配置PostgreSQL与PostGIS

在安装前,确保云服务器安全组放开5432端口。我的云服务器系统为Ubuntu server 64bit,参考如下网址分享的教程进行PostgreSQL与PostGIS的安装。 https://www.cnblogs.com/echohye/p/18005445 https://zhuanlan.zhihu.com/p/467644334 https://cn.linux-c…

PHP异步非阻塞MySQL客户端连接池

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…

【PCIe 总线及设备入门学习专栏 6.1 -- PCIe MCTP】

文章目录 1 什么是 MCTP?2 MCTP 消息在 PCIe 中的传输特点3 PCIe MCTP 的局限性(1) 出站(Outbound)MCTP 消息分解的限制(2) 入站(Inbound)MCTP 消息组装的限制4 MCTP 消息的实际使用流程发送端处理流程接收端处理流程5 实际使用场景例 1:管理命令传输例 2:监控数据报告例…

C#如何获取电脑中的端口号和硬件信息

我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。 那么如果我们使用C#编写软件时候,如何获取到串口的硬件信息呢? 思路就是通过读取设备管理器里的条目来实现,我这里给大家…

frameworks 之 AMS与ActivityThread交互

frameworks 之 AMS与ActivityThread交互 1. 类关系2. 流程2.1 AMS流程2.1 ActivityThread流程 3. 堆栈 讲解AMS 如何和 ActivityThread 生命周期调用流程 涉及到的类如下 frameworks/base/core/java/android/app/servertransaction/ResumeActivityItem.javaframeworks/base/cor…

线下陪玩系统架构与功能分析

2015工作至今,10年资深全栈工程师,CTO,擅长带团队、攻克各种技术难题、研发各类软件产品,我的代码态度:代码虐我千百遍,我待代码如初恋,我的工作态度:极致,责任&#xff…