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

相关推荐
huohaiyu39 分钟前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
街尾杂货店&41 分钟前
css word-spacing属性
前端·css
千叶寻-44 分钟前
正则表达式
前端·javascript·后端·架构·正则表达式·node.js
信奥卷王2 小时前
[GESP202503 五级] 原根判断
java·数据结构·算法
小咕聊编程2 小时前
【含文档+源码】基于SpringBoot的过滤协同算法之网上服装商城设计与实现
java·spring boot·后端
Zz_waiting.2 小时前
Spring 原理
java·spring·spring自动管理
瓯雅爱分享6 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
光影少年6 小时前
angular生态及学习路线
前端·学习·angular.js
記億揺晃着的那天8 小时前
Vue + Element UI 表格自适应高度如何做?
javascript·vue.js·ui
无尽夏_8 小时前
HTML5(前端基础)
前端·html·html5