vue3 hooks

本文探讨了Vue3中的Hooks如何通过组合式API实现高效逻辑复用,与Vue2Mixin进行对比,强调了Hooks的优点如清晰的数据来源、减少命名冲突和提高模块独立性,以及与传统mixin方法的差异和优势。
摘要由CSDN通过智能技术生成

HOOK概念

Hooks 就是 钩子 的意思,所以 Hook functions 也叫 钩子函数,我理解的 钩子函数的意思是:
在特定的时机会执行的函数
比如我们在开发中遇到的:

  • 点击函数: 点击时才会执行的函数
  • 定时器函数: 时间到了就会执行的函数
  • 生命周期函数: 在组件各个时间点执行的函数
  • 拦截器事件: 请求和响应时执行的函数
  • 某个值改变而执行的函数: 例如 React Hooks/Vue Hooks
  • github钩子: 例如 husky 的代码提交前代码检验,github ci 的监听代码提交进行构建

Vue3 Hooks相比Vue2 mixin

Hooks是VUE3中利用组合式API响应式的特性的,实现简单高效的逻辑复用、提高开发效率、提高VUE模块可维护性的工具。Hooks的组合可以让组件低代价、高效率地实现高复杂度业务,Hooks之间通常相互独立,没有过度耦合,降低后期陷入维护地狱的风险,而且可以使得功能模块更加易于测试。
在vue2中主要是使用mixin进行逻辑复用的,主要缺点为:

  • 不清晰的数据来源:当使用了多个 mixin 时,实例上的数据属性来自哪个 mixin 变得不清晰,这使追溯实现和理解组件行为变得困难。这也是我们推荐在组合式函数中使用 ref + 解构模式的理由:让属性的来源在消费组件时一目了然。
  • 命名空间冲突:多个来自不同作者的 mixin 可能会注册相同的属性名,造成命名冲突。若使用组合式函数,你可以通过在解构变量时对变量进行重命名来避免相同的键名。
  • 隐式的跨 mixin 交流:多个 mixin 需要依赖共享的属性名来进行相互作用,这使得它们隐性地耦合在一起。而一个组合式函数的返回值可以作为另一个组合式函数的参数被传入,像普通函数那样。

组合式API官方文档
Vue Hooks

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值