专栏名称: 前端之神
一位前端小菜鸡,写过300多篇原创文章,全网有5w+个前端朋友,梦想是成为”前端之神“~
今天看啥  ›  专栏  ›  前端之神

总结了十个Vue3超级实用但是很冷门的API

前端之神  · 公众号  ·  · 2024-11-30 12:47
    

主要观点总结

文章介绍了Vue3中一些实用但较为冷门的API,包括readonly、shallowRef、shallowReactive、toRef、toRefs、toRaw、markRaw、unref、effectScope及provide和inject等。这些API可以在特定情境下提高开发效率和性能优化。

关键观点总结

关键观点1: readonly:用于保护数据不被外界修改,只提供读取功能,不触发响应式更新。

常用于包裹hooks暴露的变量,确保内部逻辑不受影响。

关键观点2: shallowRef和shallowReactive:用于包裹基础类型或引用类型,修改外层不触发响应式更新,修改内层虽然能改变数据但不会立即触发视图更新。

适用于大型数据,可以减少不必要的响应式更新,提高性能。

关键观点3: toRef和toRefs:用于解决在使用reactive时解构数据导致的响应性问题,使修改原数据能够触发相应视图的更新。

适用于需要将解构后的基础类型重新绑定到原数据的情况。

关键观点4: toRaw、markRaw和unref:toRaw用于将响应式对象转换为普通对象;markRaw用于标记响应式对象中的某个属性不被追踪;unref相当于返回ref的value。

这些API可以在特定情况下方便数据处理和传递。

关键观点5: effectScope:用于收集副作用和全局状态管理,在组件销毁时自动清除副作用,可用于性能优化和全局状态管理。

可以结合onScopeDispose进行更精细的控制和管理。

关键观点6: provide和inject:用于组件间的数据提供和注入,适用于层级较多的组件间数据共享,如表单组件中的规则、字段名、字段值共享。

这两个API为组件间的数据交互提供了方便的解决方案。


文章预览

总结了十个Vue3超级实用但是很冷门的API 前言 大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~ 今天给大家分享几个很少人用,但是又非常有用的 Vue3 的 API,废话不多说,往下看吧~ 文章提示:下文的 无效   不触发视图   不触发响应式更新   不被追踪  这些词汇,想表达的意思是一样的,意思都是  不被追踪 readonly 顾名思义,就是只读的意思,如果你的数据被这个 API 包裹住的话,那么修改之后并不会触发响应式,并且会提示警告 readonly 的用途一般用于一些 hooks 暴露出来的变量,不想外界去修改,比如我封装一个 hooks,这样去做的话,那么外界只能用变量,但是不能修改变量,这样大大保护了 hooks 内部的逻辑~ shallowRef shallowRef 用来包住一个基础类型或者引用类型,如果是基础类型那么跟 ref ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览