当前位置: 首页 > news >正文

`shallowReactive` 与 `shallowRef`:浅层响应式 API

在这里插入图片描述

🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

在 Vue3 中,shallowReactiveshallowRef 是两种特殊的响应式 API,它们提供了一种浅层响应式的方式来处理对象和引用类型的数据。

shallowReactive

shallowReactive 创建一个浅层响应式对象。这意味着只有对象的顶层属性是响应式的,嵌套的对象属性不会被转换为响应式。

使用 shallowReactive

import { shallowReactive } from 'vue';const state = shallowReactive({
foo: 1,
bar: {
baz: 2
}
});// 改变顶层属性会触发更新
state.foo++; // 响应式// 改变嵌套属性不会触发更新
state.bar.baz++; // 非响应式

shallowRef

shallowRef 创建一个浅层响应式的引用。与普通的 ref 不同,shallowRef 只有在引用的值本身改变时才会触发更新,如果引用的对象内部的属性发生变化,不会触发更新。

使用 shallowRef

import { shallowRef } from 'vue';const state = shallowRef({
foo: 1,
bar: {
baz: 2
}
});// 改变引用的值会触发更新
state.value = { foo: 2 }; // 响应式// 改变引用对象的属性不会触发更新
state.value.bar.baz++; // 非响应式

适用场景

shallowReactiveshallowRef 适用于以下场景:

  • 当你有一个大型数据结构,并且只想对顶层属性进行响应式处理时。
  • 当你知道嵌套对象不会改变,或者你不关心嵌套对象内部的变化时。
  • 当你需要优化性能,并且可以接受一定程度的非响应式行为时。

总结

  • shallowReactiveshallowRef 提供了浅层响应式的行为,只有顶层属性或引用本身的改变才会触发更新。
  • 这两种 API 在处理大型数据结构或优化性能时非常有用。
  • 使用它们时需要注意,嵌套对象的内部变化不会触发视图更新。
http://www.lryc.cn/news/573361.html

相关文章:

  • 网络编程及原理(六):三次握手、四次挥手
  • .Net Core 获取与bin目录相同文件路径的文件
  • MinIO入门教程:从零开始搭建方便快捷的分布式对象存储服务
  • verilog HDLBits刷题“Module addsub”--模块 addsub---加法器-减法器
  • python版halcon环境配置
  • 59-Oracle 10046事件-知识准备
  • 1.23Node.js 中操作 mongodb
  • Django中为api自定义一些装饰器:如参数校验等
  • 获取 Git 仓库
  • npm包冲突install失败
  • 深入浅出:Go语言中的Cookie、Session和Token认证机制
  • Snapchat矩阵运营新策略:亚矩阵云手机打造高效社交网络
  • SiteAzure:解决数据库服务器内存频繁吃满
  • 【Flutter】状态管理框架Provider和Get对比分析(面试常用)
  • 57-Oracle SQL Profile(23ai)实操
  • 编程基础:耦合
  • 跨平台SEH实现的方法
  • Skrill是什么?中国用户能用吗?安全吗?完整指南
  • DAY 38 Dataset和Dataloader类
  • Python编程语言:2025年AI浪潮下的技术统治与学习红利
  • Python UDP Socket 实时在线刷卡扫码POS消费机服务端示例源码
  • 自动化立体仓库堆垛机控制系统STEP7 FC3功能块 I/O映射
  • `provide` 和 `inject` 组件通讯:实现跨组件层级通讯
  • 机器学习15-XGBoost
  • 微服务拆分——nacos/Feign
  • 华为云Flexus+DeepSeek征文 | 基于Flexus X实例的金融AI Agent开发:智能风控与交易决策系统
  • 李宏毅2025《机器学习》第三讲-AI的脑科学
  • 蓝牙数据通讯,实现内网电脑访问外网电脑
  • WPF调试三种工具介绍:Live Visual Tree、Live Property Explorer与Snoop
  • SylixOS 下的消息队列