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

ref和reactive的区别 Vue3

Vue3中ref和reactive的区别

ref

  • 可以定义基本数据类型,也可定义对象类型的响应式数据

reactive

  • 只能定义对象类型的响应式数据

ref和reactive定义对象类型的响应式数据有什么不同

  • 不同点1
    • ref定义的响应式数据,取值时需要先 .value
  • 不同点2
    • 替换整个对象时,方法不一样
    • ref: car1.value = {brand:‘奔驰’,price:200}
    • reactive:用Object.assign()方法,替换对象中所有属性的值
let car1 = ref({brand:'奔驰',price:100})
let car2 = reactive({brand:'奥迪',price:100})
//不同点1
function logCar(){
	console.log(car1.value.price)
	console.log(car2.price)
}
//不同点2
function changeCar(){
	car1.value = {brand:'奔驰',price:200}
	Object.assign(car2,{brand:'奥迪',price:300})
}

什么时候用ref,什么时候用reactive

  • 既然都可以定义对象类型的响应式数据,如何选择呢?
    • 基本类型,必须用ref
    • 定义的对象,层级结构比较深,推荐reactive。否则需要多次写 .value
http://www.dtcms.com/a/37465.html

相关文章:

  • Java进阶(vue基础)
  • 对比 Vue 中的 defineAsyncComponent 和 React 中的 lazy
  • 虚中断理解
  • 面试基础----ReentrantLock vs Synchronized
  • idea创建第一个springboot程序
  • dart语言基本介绍及基本语法
  • 树莓派学习【2】开机自动启动程序的方法
  • Android 8.0 (API 26) 对广播机制做了哪些变化
  • MQTT实现智能家居------4、在Linux上运行MQTT
  • MySql常用指令
  • 请谈谈 React 中的状态管理,如何使用 Context API 和 Redux 进行状态管理?
  • 在 Windows 下的 Docker 中安装 R语言
  • 微服务即时通信系统---(六)语音识别子服务
  • Mac 上安装多版本的 JDK 且实现 自由切换
  • Zabbix问题记录2--踩坑HttpRequest,header添加无效
  • 4.static关键字和const关键字的作用【高频】
  • 算法思想-动态规划算法
  • Vue的项目创建以及项目目录与组合式API
  • 快速入门——状态管理VueX
  • 动态规划(背包问题)--是否逆序使用的问题--二进制拆分的问题
  • linux /var/log/syslog过大问题及解决 Systemd定时器用于清除
  • 深入理解 `Sinks.Empty<Void>` 和 `Mono<Void>`:如何触发完成信号并结合 WebSocket 示例
  • axios、axios二次封装、api解耦
  • CF 58A.Chat room(Java实现)
  • 【ProtoBuf】proto3语法(一)
  • ctfshow——版本控制泄露源码
  • OPPO高级大模型算法岗内推
  • LeetCode 热题100 141. 环形链表
  • linux 打包解压命令
  • 计算机毕业设计SpringBoot+Vue.js个性化图书推荐系统(源码+LW文档+PPT+讲解+开题报告)