vue3---toRaw 与markRaw

  1. toRaw
    · 用于获取一个响应式对象的原始(非响应式)对象,
    0.1 使用场景:
    在 Vue 3 中,当你使用 reactive 或 ref 创建一个响应式对象或属性时,Vue 会在其内部创建一个代理对象来追踪变化。然而,在某些情况下,你可能需要访问这个响应式对象的原始版本,而不是代理版本。这时,你可以使用 toRaw 函数。
    例如:
import { reactive, toRaw } from 'vue';  
  
const state = reactive({ count: 0 });  
const rawState = toRaw(state);  
  
console.log(rawState === state); // false

markRaw

· 用于将一个对象标记为非响应式的,这样 Vue 就不会将其转换为响应式对象。这在某些场景下很有用,比如当你有一个不应该被 Vue 追踪其变化的对象时。

例如:

import { reactive, markRaw } from 'vue';  
  
const rawObject = { foo: 'bar' };  
const state = reactive({  
  myRawObject: markRaw(rawObject),  
  count: 0  
});  
  
state.count++; // 响应式属性变化,会触发更新  
state.myRawObject.foo = 'baz'; // 非响应式对象变化,不会触发更新
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 你是不是习惯了Vue2的赋值即响应式?Vue2还有个Vue.observable但你从没用过?结果Vue3像...
    microkof阅读 13,259评论 3 22
  • 1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:48...
    vivienYang2019阅读 2,784评论 0 0
  • 1. Composition API(常用部分) 文档: https://vue3js.cn/docs/zh/[h...
    WangLizhi阅读 3,008评论 0 0
  • Vue3.0的优势 性能比Vue2.x快1.2~2倍 按需编译,体积比Vue2.x更小 组合API(类似React...
    强某某阅读 5,459评论 0 5
  • 一.简介 2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王) 和vue2相比它的...
    e只咸鱼阅读 6,535评论 4 37

友情链接更多精彩内容