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

相关推荐
火车叼位13 小时前
让 ast-grep 听你的:指定语言解析 Vue/TSX/JSX 全流程
前端·javascript·后端
San30.13 小时前
Vue 3 + DeepSeek 实现 AI 流式对话的完整指南
前端·vue.js·人工智能
枣把儿13 小时前
「zotepad」用Gemini3pro写出一个高效写作和发文的记事本应用
android·前端·nuxt.js
前端开发爱好者13 小时前
VSCode 推出 绿色版!更强!更智能!
前端·javascript·visual studio code
明川13 小时前
Android Gradle 学习 - 生命周期和Task
android·前端·gradle
VX:Fegn089513 小时前
计算机毕业设计|基于springboot + vue图书商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
吃好喝好玩好睡好13 小时前
Flutter与Electron在OpenHarmony生态的融合实践:构建下一代跨平台应用
javascript·flutter·electron
小熊哥^--^13 小时前
WebSocket客户端封装类
前端·websocket
一个小小开发14 小时前
在大型项目中为什么更推荐Composition API?它解决了哪些工程化问题?
vue.js
四眼肥鱼14 小时前
全网最全的 qiankun 基于 react18+(主应用)、vue3.4+(微应用)实现页签缓存,页面缓存
前端·javascript