VUE3中ref与reactive

  • ref:支持所有类型
  • reactive:只支持引用类型(Obj,Array...)
  • 两者都是实现数据视图响应式

JS逻辑使用中

ref:需要使用.value

reactive:不需要使用.value

html 复制代码
 <el-button @click="handle()" type="primary">操作ref</el-button>
javascript 复制代码
import { ref, reactive } from "vue";

const refobj = ref({name:'小李'})
const reactiveobj = reactive ({name:'小红'})

const handle = ()=>{
  refobj.value.name='小明' // refobj :{name:'小明'}
  reactiveobj.name='小花'  // reactiveobj :{name:'小花'}
}

reactive基于proxy 数组不能直接赋值 否则破坏响应式对象

解决方法1:利用push+...解构

javascript 复制代码
let list = reactive<string[]>([])
const listhandle = () => {
  let res = ['as', 'asd', 'asdf']
  list = res // 赋值失败!
  list.push(...res) //数组利用解构赋值成功!
  console.log(list);

}

解决方法2:声明对象一个,数组为对象中的属性进行赋值

相关推荐
Jackson__11 分钟前
谈一下 css 隐藏陷阱,margin 塌陷问题
前端·css
奇舞精选11 分钟前
前端开发中常见的 SEO 优化
前端·seo
奇舞精选12 分钟前
使用cursor和claude-3.7实现吉卜力风格的页面
前端
白鸽(二般)29 分钟前
HTML、CSS、JavaScript
前端·css
大强的博客1 小时前
《Vue Router实战教程》22.导航故障
前端·javascript·vue.js
会蹦的鱼1 小时前
知识了解02——了解pnpm+vite+turbo+monorepo的完整构建步骤(react子项目)
前端·javascript·react.js
@PHARAOH1 小时前
HOW - 如何测试 React 代码
前端·react.js·前端框架
涵信1 小时前
第三节:React 基础篇-React组件通信方案
前端·javascript·react.js
90后的晨仔1 小时前
Flutter 报错 [☠] Network resources (the doctor check crashed)xxxx
前端·flutter