Vue3 扩展

一、shallowReactive与shallowRef

·shallowReactive: 只处理对象最外层属性的响应式(浅响应式)

·shallowRef: 只处理基本数据类型的响应式,不进行对象的响应式处理

·使用场景:

如果有一个对象数据,结构比较强,但变化的只是外层属性变化 -> shallowReactive

如果有一个对象数据,后续功能不会修改对象中的属性,而是生成新的对象来替代 -> shallowRef

二、readonly与shallowReadonly

readonly: 让一个响应式数据变为只读的(深只读)

shallowReadonly: 让一个响应式数据变为只读的(浅只读)

应用场景: 不希望数据被修改时

三、toRaw与markRaw

toRaw:

作用: 将一个由reactive生成的响应式对象转为普通对象

使用场景: 用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新

markRaw:

作用: 标记一个对象,使其永远不会再成为响应式对象

应用场景:

a,有些值不应被设置为响应式的,例如复杂的第三方类库等

b,当渲染具有不可变数据的大列表时,跳过响应式转换可以提高性能

四、customRef

作用: 创建一个自定义的ref,并对其依赖项跟踪和更新触发进行显示控制

实现防抖效果:

五、provide与inject

作用: 实现祖孙组件间通信

套路: 父组件有一个provide选项来提供数据,孙/后代组件有一个inject选项来开始使用这些数据

具体写法:

六、响应式数据的判断

isRef: 检查一个值是否为一个ref对象

isReactive: 检查一个对象是否由reactive创建的响应式代理

isReadonly: 检查一个对象是否由readonly创建的只读代理

isProxy: 检查一个对象是否是由reactive或者readonly方法创建的代理

相关推荐
上海魁鲸科技有限公司11 分钟前
APS高级排产系统到底有什么用?一文讲清功能、选型与落地建议
前端·microsoft·excel
陈随易13 分钟前
Bun v1.4 更新总结:把浏览器、图片、定时任务和工程工具都装进一个运行时
前端·后端·程序员
东风破_2 小时前
TypeScript 高级类型进阶:keyof、Exclude、Record 与类型组合思想
前端·后端·typescript
DS随心转插件2 小时前
Grok生成的html怎么导出——AI导出鸭:大模型结构化输出的“最后一公里”工程化解构
前端·人工智能·ai·html·豆包·deepseek·ai导出鸭
এ慕ོ冬℘゜2 小时前
使用 jQuery 动态渲染表格与状态切换
前端·javascript·jquery
人间凡尔赛3 小时前
2026 前端必修:4 个让 CSS 脱胎换骨的现代新特性(附实战代码)
前端·css
用户2181697049303 小时前
Flutter (二十) 轮播图
前端
前端snow3 小时前
ai agent - RAG 汇总
前端
智购科技自动售货机厂家4 小时前
2026自动售货机AI视觉识别优化:从YOLOv11n模型量化到RKNN部署的端侧推理工程实践~YH
javascript·人工智能·yolo·机器学习·计算机视觉·目标跟踪·perl
计算机魔术师4 小时前
AI为拿高分不惜入侵网站:22个模型作弊审计,真相让人背脊发凉
前端