reactive的用法与ref的用法相似,也是将数据变成响应式数据,当数据发生变化时UI也会自动更新。不同的是ref用于基本数据类型,而reactive是用于复杂数据类型,比如对象和数组
例如:定义一个对象类型的变量user

<template><div><p>{{ user }}</p><button @click="increase">click me! one year later</button></div>
</template><script>
import { reactive } from "vue";
export default {name: "reactive",setup() {const user = reactive({ name: "Alice", age: 12 });function increase() {++user.age}return { user, increase };},
};
</script>

如上,当点击按钮时,让数据user.age加1,当Vue发现数据发生变化,UI会自动更新
那我们验证了,确实reactive函数可以将一个复杂数据类型变成响应式数据。我们不妨将reactive函数执行的结果打印出来看下,看看它返回值是什么
reactive将传递的对象包装成了proxy对象

我们发现,reactive执行结果是将传递的对象包装成了proxy对象
接下来我们测试一下,如果传递基本数据类型呢?

<template><div><p>{{ userAge }}</p><button @click="increase">click me! one year later</button></div>
</template><script>
import { reactive } from "vue";
export default {name: "reactive",setup() {let userAge = reactive(12);function increase() {console.log(userAge);++userAge;}return { userAge, increase };},
};
</script>

运行发现,基本数据传递给reactive,reactive并不会将它包装成porxy对象,并且当数据变化时,界面也不会变化

需要注意的是,reactive中传递的参数必须是json对象或者数组,如果传递了其他对象(比如new Date()),在默认情况下修改对象,界面不会自动更新,如果也需要具有响应式,可以通过重新赋值的方式实现

使用ref函数可以处理基本数据,使期变成响应式数据

vue3 reactive函数用法相关推荐

  1. vue3 ref函数用法

    1.在setup函数中,可以使用ref函数,用于创建一个响应式数据,当数据发生改变时,Vue会自动更新UI <template><div><h1>{{mycount ...

  2. VUE3 reactive与toRefs函数

    Vue3.0中还为我们提供了一个对象式响应的reactive函数 . Reactive函数创建一个响应式对象. 一:Reactive函数 其实,在我看来,reactive函数 就是VUE3.0为我们提 ...

  3. Vue3学习之第二节:ref函数、reactive函数

    一.ref 函数 作用:定义一个响应式的数据. 示例: <template><div>{{ name }}</div> </template><s ...

  4. Vue3的reactive函数

    reactive函数用来定义一个对象类型的响应式数据(基本类型用ref函数) let 代理对象 = reactive(源对象)  接收一个对象(或数组),返回一个代理对象(Proxy的实例对象) re ...

  5. VueJs中的reactive函数

    前言 一个基本类型的数据,想要变成响应式数据,那么需要通过ref函数包裹,而如果是一个对象的话,那么需要使用reactive函数 reactive可将对象变成响应式 将一个对象类型的数据变为响应式,如 ...

  6. Day 04-常用Composition API_ref reactive 函数

    目录 1.ref函数 2.reactive函数 3.reactive对比ref 1.ref函数 作用: 定义一个响应式的数据:  语法: const xxx = ref(initValue) 创建一个 ...

  7. Vue3 reactive 源码分析

    概要 本文通过抽取Vue3 reactive源码中的主要部分,来理解其响应式object的实现方式.本文源码基于这个入口文件:github reactive.ts reactive() 源码位置:gi ...

  8. 2021年大数据常用语言Scala(三十七):scala高级用法 高阶函数用法

    目录 高阶函数用法 作为值的函数 匿名函数 柯里化(多参数列表) 闭包 高阶函数用法 Scala 混合了面向对象和函数式的特性,在函数式编程语言中,函数是"头等公民",它和Int. ...

  9. php foreach嵌套foreach,php中foreach怎么嵌套foreach PHP中foreach函数用法?

    foreach的使用方法小编不是很明确,分享达人指教一下.foreach (array_expressforeach($array as $key) { if(xxxx) { break; //bre ...

最新文章

  1. python中为什么需要使用“if __name__ == '__main__'”语句
  2. 看了交大自产的电影《我的太阳》
  3. python packaging quickstart
  4. 一个项目需要提交哪了些文档?
  5. 一键部署Zabbix客户端
  6. ElasticSearch搜索底层基础原理总结
  7. html写法影响加载,html加载顺序以及影响页面二次渲染额的因素
  8. Virtual Routing and Forwarding
  9. 自动阅卷的原理很简单的,用python来简单解释一下工作原理❤
  10. cnnvd爬取漏洞信息
  11. 通过二进制逻辑运算解题
  12. SQL AlawaysOn 之二:添加组织和域用户
  13. 三星pay显示无法连接服务器,三星智付Samsung pay正式开启:服务器宕机 三星紧急发公告...
  14. matlab 稳定系统,matlab分析系统的稳定性
  15. matlab光学原理仿真应用衍射,基于Matlab的光学衍射仿真【参考】.doc
  16. 赚翻了,快速带你学会Python爬虫接私单
  17. The OSS Access Key Id you provided does not exist in our records
  18. cesium画飞线_Cesium+earthSD实现相机飞行动画
  19. Spring学习第4篇:Spring 的依赖注入
  20. 总结:js世界中的特殊符号

热门文章

  1. C语言写的小游戏源码,c语言小游戏源码(华容道)
  2. openresty完全开发指南_谷歌 Fuchsia OS 进入开发者测试阶段,它真的会代替安卓吗?...
  3. 【苹果推imessage源码】邮箱软件安装PHAssetCollection
  4. 【leetcode】二维子矩阵的和
  5. Howland电流源输入输出关系
  6. 细说Kconfig(转)
  7. 第二季 明文封包教程
  8. 数位板时不时失控_当事情失控时进行网络分析
  9. 计算梯形面积的程序html,如何利用几何画板计算梯形的面积
  10. 摘抄整理-20161115-程序员思维修炼