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方法,具体的使用方式如下图,勾选即可

相关推荐
apollo_qwe1 天前
前端缓存深度解析:从基础到进阶的实现方式与实践指南
前端
学习CS的小白1 天前
跨域问题详解
vue.js·后端
周星星日记1 天前
vue中hash模式和history模式的区别
前端·面试
Light601 天前
Vue 高阶优化术:v-bind 与 v-on 的实战妙用与思维跃迁
前端·低代码·vue3·v-bind·组件封装·v-on·ai辅助开发
周星星日记1 天前
5.为什么vue中使用query可以保留参数
前端·vue.js
lebornjose1 天前
javascript - webgl中绑定(bind)缓冲区的逻辑是什么?
前端·webgl
+VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue作业管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Tzarevich1 天前
现代前端开发工程化:从 Vite 到 Vue 3 多页面应用实战
vue.js·vite
瘦的可以下饭了1 天前
Day05- CSS 标准流、浮动、Flex布局
前端
前端无涯1 天前
React中setState后获取更新后值的完整解决方案
前端·react.js