Vue3中ref和reactive的区别

ref既可以实现基本类型的响应式也可以实现对象或者数组类型的响应式,但是需要在变量后加一个value来修改对应的值才可以生效

reactive只能用来实现对象或者数组等类型的响应式,且如果对整个对应进行重新赋值,则响应式会失效,可以通过Object.assign()来实现响应式,具体如下

javascript 复制代码
    let gg=reactive({address:'山西'})


    function updategg(){
      //响应式不生效
      gg={address:"wwwww"}
      //生效,该方法会把后边的对象的参数一个一个追加到第一个指定的对象中
      Object.assign(gg,{address:"wwwww"})

    }

各自的应用场景:

  1. 如果是基本数据类型就用ref
  2. 如果是没有那么深的对象或者数组,那么ref和reactive都可
  3. 如果是深的对象或者数组建议使用reactive

插件介绍:

我们在使用vite新建vue3项目时刚进入vscode会让你安装两个插件

第一个插件一个功能,当我们在使用ref时,调用其修饰的变量时,可自动帮我们生成.value方法,具体的使用方式如下图,勾选即可

相关推荐
触底反弹2 小时前
深入理解 JavaScript 同步与异步:从 Event Loop 到 async/await
javascript
lichenyang4532 小时前
ArkUI 票根卡片:PathShape 真挖洞,shadow 沿凹陷外发光
前端
Cache技术分享2 小时前
432. Java 日期时间 API - 时间工具 TemporalQuery 详解
前端·后端
浮生望2 小时前
JavaScript 异步编程核心:从同步阻塞到 Promise 事件循环
javascript·promise
如果超人不会飞2 小时前
TinyVue Radio单选框组件使用指南
vue.js
假如让我当三天老蒯2 小时前
暂时性死区是否和闭包是相背的呢(自学用)
前端·javascript
渣波2 小时前
前端开发主页面小技巧
前端·javascript
小林ixn2 小时前
前端必知:JS同步异步与Promise,终于有人讲明白了!
javascript·面试
柯克七七2 小时前
我用3个周末重构了公司的前端项目,老板没发现,但同事都来找我要代码了
前端
鲁班小子2 小时前
Vite resolve.dedupe 使用教程
vue.js·vite