码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue3 ref 和 reactive 区别


    Vue 3 引入了两种新的响应式 API:ref 和 reactive。这两个 API 都用于创建响应式数据,但它们的使用场景和行为有所不同。

    ref

    用途:ref 用于创建基本数据类型的响应式引用,如字符串、数字、布尔值等。
    使用方式:在模板中使用时,Vue 会自动添加 .value 来访问 ref 创建的数据。在 JavaScript 中,你需要通过 .value 属性来获取或修改 ref 对象中的数据。
    原理:ref 通过 Object.defineProperty 的 get 和 set 来实现响应性,它返回一个对象,该对象的 .value 属性是响应式的。

    reactive

    用途:reactive 用于创建对象或数组的响应式代理。
    使用方式:在模板中直接使用 reactive 创建的数据,不需要添加 .value。在 JavaScript 中,你可以直接访问和修改 reactive 对象的属性,就像访问普通 JavaScript 对象一样。
    原理:reactive 使用 Proxy 来创建响应式代理,这意味着你可以访问和修改对象的所有属性,而不需要通过 .value。

    区别总结

    数据类型:ref 适用于基本数据类型,而 reactive 适用于对象和数组。
    访问方式:ref 需要通过 .value 访问或修改数据,reactive 则直接访问对象属性。
    模板中的使用:在 Vue 模板中使用 ref 类型的数据时,Vue 会自动处理 .value,而在 reactive 对象中,你可以直接使用属性。
    设计理念:ref 主要解决单一元素/数据的响应式问题,而 reactive 解决复杂数据结构的响应式问题。

    示例

    // 使用 ref

    const count = ref(0);
    
    • 1

    // 在模板中使用 count.value 来显示或绑定
    // 在 JavaScript 中访问或修改 count.value

    // 使用 reactive

    const state = reactive({ count: 0 });
    
    • 1

    // 在模板中直接使用 state.count 来显示或绑定
    // 在 JavaScript 中直接访问或修改 state.count

    在实际开发中,你可以根据需要创建的数据类型和使用场景来选择使用 ref 还是 reactive。
    对于简单的基本数据类型,使用 ref 可能更合适;而对于复杂的数据结构,如组件的状态管理,reactive 提供了更直观和方便的方式来处理。

  • 相关阅读:
    基于低代码平台的多租户解决方案
    FreeSWITCH 使用指北(2)-多段音频顺序播放的设置
    C++ 11 lamdba表达式详解
    Google Earth Engine(GEE)案例——如何去除和过滤Landsat和sentinel等系列影像集合中的空影像(三种方法)
    vue - 组件通信:关于v-model语法糖
    云栖发布|阿里云消息队列 RocketMQ 5.0:消息、事件、流融合处理平台
    信号处理 | 短时傅里叶变换实战
    十四天学会C++之第三天(数组和字符串)
    docker使用nacos容器并且连接mysql容器
    LeetCode·二叉树前序、中序、后序遍历·递归
  • 原文地址:https://blog.csdn.net/adley_app/article/details/136732727
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号