Vue3:优化-从响应式数据中获取纯数据

一、情景说明

我们知道,Vue3中,创建变量时,常用ref、reactive来包裹,这样,这个变量就是响应式数据

然而,有时候,我们只需要纯数据

例如,我们在调用后端接口的时候,我们只要传递JSON结构的纯数据,不需要具备响应式

从而,提升性能。

这个时候,就需要用到toRaw、markRaw技术

二、案例

1、toRaw

从响应式对象中,取出纯JSON数据

js 复制代码
import { reactive,toRaw,markRaw,isReactive } from "vue";

/* toRaw */
// 响应式对象
let person = reactive({name:'tony',age:18})
// 原始对象
let rawPerson = toRaw(person)

2、markRaw

标记一个对象,使其永远不会变成响应式的。

javascript 复制代码
/* markRaw */
let citys = markRaw([
  {id:'asdda01',name:'北京'},
  {id:'asdda02',name:'上海'},
  {id:'asdda03',name:'天津'},
  {id:'asdda04',name:'重庆'}
])
// 根据原始对象citys去创建响应式对象citys2 ------ 创建失败,因为citys被markRaw标记了
let citys2 = reactive(citys)
相关推荐
头发多多程序媛3 分钟前
全栈开发入门学习指南(前端)
前端·后端
Yang-Never5 分钟前
AI Code -> Windows电脑安装Claude
开发语言·windows·git
Irene19917 分钟前
2026 前端开发 Windows 安装 Git 配置指南(有实际安装过程参考:适配版本 the latest 2.53.0(2) x64 )
前端·windows·git
天下无敌笨笨熊11 分钟前
C#异步开发探微
开发语言·c#
2301_7938046914 分钟前
C++中的访问者模式变体
开发语言·c++·算法
2501_9454248018 分钟前
模板代码版本兼容
开发语言·c++·算法
WaywardOne19 分钟前
iOS复习必看!weak关键字底层原理(Deepseek&豆包)回答整理
前端
工边页字19 分钟前
AI公司面试100%加分的话题:如何做 API成本预算
前端·后端·面试
m0_5180194821 分钟前
C++中的委托构造函数
开发语言·c++·算法
m0_7434703723 分钟前
高性能计算框架实现
开发语言·c++·算法