vue3中reactive和ref函数及对比

reactive和ref函数

1. reactive

接受对象类型数据的参数传入并返回一个响应式的对象

javascript 复制代码
<script setup>
 // 导入
 import { reactive } from 'vue'
 // 执行函数 传入参数 变量接收
 const state = reactive({
   msg:'this is msg'
 })
 const setSate = ()=>{
   // 修改数据更新视图
   state.msg = 'this is new msg'//不需要.value
 }
</script>

<template>
  {{ state.msg }}
  <button @click="setState">change msg</button>
</template>

2. ref

接收简单类型或者对象类型的数据传入并返回一个响应式的对象

javascript 复制代码
<script setup>
 // 导入
 import { ref } from 'vue'
 // 执行函数 传入参数 变量接收
 const count = ref(0)
 const setCount = ()=>{
   // 修改数据更新视图必须加上.value
   count.value++
 }
</script>

<template>
  <button @click="setCount">{{count}}</button>
</template>

注意:

  • ref函数创建响应式数据,返回值是一个对象

  • 模版中使用ref数据,省略.value,js代码中不能省略(特殊:js中watch监听可以省)

3、reactive 对比 ref

  1. 都是用来生成响应式数据

  2. 不同点:

    1. reactive不能处理简单类型的数据,只支持引用数据类型,ref支持基本和引用数据类型

    2. ref通过.value获取数据,reactive不需要.value

    3. ref创建响应式引用数据类型低层依赖reactive

相关推荐
学习指针路上的小学渣几秒前
JavaScript笔记
前端·javascript
取名不易几秒前
在 nuxtjs中通过fabric.js实现画图功能
前端
ok_hahaha几秒前
java从头开始-黑马点评-分布式锁-redis实现基础版
java·redis·分布式
Nyarlathotep01136 分钟前
ReentrantReadWriteLock基础和原理
java·后端
冰珊孤雪10 分钟前
Android Studio Panda革命性升级:内存诊断、构建标准化与AI调试全解析
android·前端
coder_Eight12 分钟前
彻底吃透 Promise:从状态、链式到手写实现,再到 async/await 底层原理
javascript·面试
q54314708713 分钟前
Java进阶总结——集合
java·开发语言
用户8061381665913 分钟前
避免滥用“事件总线”
前端
Xiaoke13 分钟前
我终于搞懂了 Event Loop(宏任务 / 微任务)
前端
@大迁世界15 分钟前
13.在 React 中应怎样正确更新 state?
前端·javascript·react.js·前端框架·ecmascript