vue3中的reactive和ref

🌏总结:reactive 适用于创建复杂的响应式对象,而 ref 则适用于创建简单的响应式值。


reactiveref 是 Vue 3 Composition API 中用于创建响应式数据的两种主要方式,它们的作用如下:

  1. 响应式数据管理

    • reactive: reactive 函数用于创建一个包含响应式数据的响应式对象。这意味着当对象的属性发生变化时,相关的视图会自动更新。
    • ref: ref 函数用于创建一个包装后的响应式值。当该值发生变化时,相关的视图也会自动更新。
  2. 数据变化的跟踪和响应

    • reactive: 创建的响应式对象可以包含多个属性,当任何一个属性发生变化时,相关的视图都会进行更新。
    • ref: 创建的响应式值是单个值的引用,当值发生变化时,相关的视图会进行更新。
  3. 数据访问与修改

    • reactive: 创建的响应式对象可以直接访问和修改对象的属性,就像普通的 JavaScript 对象一样。
    • ref: 创建的响应式值通过 .value 属性来访问和修改其内部值。
  4. 用法区别

    • reactive: 适用于创建复杂的响应式对象,例如包含多个属性的对象、嵌套对象等。
    • ref: 适用于创建简单的响应式值,例如单个变量、计数器、DOM 元素的引用等。

举个例子:

reactive:

javascript 复制代码
import { reactive } from 'vue'

const user = reactive({
  username: 'John',
  age: 30
})

// 修改属性
user.username = 'Jane'
user.age = 35

console.log(user.username) // 输出: Jane
console.log(user.age)      // 输出: 35

ref:

javascript 复制代码
import { ref } from 'vue'

const age = ref(30)

// 修改值
age.value = 35

console.log(age.value) // 输出: 35
相关推荐
冬奇Lab7 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
zhangxingchao7 小时前
Kotlin常用的Flow 操作符整理
前端
IT_陈寒9 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
Pedantic10 小时前
SwiftUI 手势笔记
前端·后端
橙子家10 小时前
浏览器缓存之【结构化数据库与缓存】: IndexedDB、Cache storage 和 Storage buckets
前端
user205855615181311 小时前
X6 中边悬浮置顶,规避 `mouseleave` 事件丢失问题
前端
李明卫杭州11 小时前
CSS aspect-ratio 属性完全指南
前端
Pedantic12 小时前
SwiftUI 手势层级(Gesture Hierarchy)详解
前端
飘尘13 小时前
前端转型全栈(Java后端)的快速上手指引
前端·后端·全栈