- 是 Vue3 的 composition API 中 2 个最重要的响应式 API
- ref 用来处理基本类型数据,reactive 用来处理对象(递归深度响应式)
- 如果用 ref 对象/数组,内部会自动将对象/数组转换为 reactive 的代理对象
- ref 内部:通过给 value 属性添加 getter/setter 来实现对数据的劫持
- reactive 内部:通过使用 Proxy 来实现对对象内部所有数据的劫持,并通过 Reflect 操作对象内部数据
- ref 的数据操作:在 js 中要.value,在模板中不需要(内部解析模板时会自动添加.value)
- computed 函数:
- 与 computed 配置功能一致
- 只有 getter
- 有 getter 和 setter
- watch 函数
- 与 watch 配置功能一致
- 监视指定的一个或多个响应式数据,一旦数据变化,就自动执行监视回调
- 默认初始时不执行回调,但可以通过配置 immediate 为 true,来指定初始时立即执行第一次
- 通过配置 deep 为 true,来指定深度监视
- watchEffect 函数
- 不用直接指定要监视的数据,回调函数中使用的哪些响应式数据就监视哪些响应式数据
- 默认初始时就会执行第一次,从而可以收集需要监视的数据
- 监视数据发生变化时回调
- beforeCreate -> 使用 setup()
- created -> 使用 setup()
- beforeMount -> onBeforeMount
- mounted -> onMounted
- beforeUpdate -> onBeforeUpdate
- updated -> onUpdated
- beforeDestroy -> onBeforeUnmount
- destroyed -> onUnmounted
- errorCaptured -> onErrorCaptured
组合式 API 还提供了以下调试钩子函数:
- onRenderTracked
- onRenderTriggered
- 使用 Vue3 的组合 API 封装的可复用的功能函数
- 自定义 hook 的作用类似于 vue2 中的 mixin 技术
- 自定义 Hook 的优势:很清楚复用功能代码的来源,更清楚易懂
- 需求 1:收集用户鼠标点击的页面坐标
经验总结扩展阅读
- 世界上最原始的部落是哪一个 世界上最原始的部落排行榜
- Maven 聚合工程的创建
- 2023年9月14日是出差的黄道吉日吗 2023年农历七月三十宜出差吗
- 剑指offer20题表示数值的字符串:这题实在是太优雅了
- 睡眠面膜哪个牌子最好 口碑最好的睡眠面膜排行榜10强
- 两种 .Net Core 3.0 对 MongoDB 的多条件查询操作
- 一百二十 salesforce零基础学习快去迁移你的代码中的 Alert / Confirm 以及 Prompt吧
- 2023年11月2日适不适合搬家 是吉祥的日子吗
- 哪一种芦荟胶比较好用 十款性价比高的芦荟胶排行榜
- 2023年9月14日坐船好吗 2023年9月14日坐船黄道吉日