• 组合式函数(Composables)解决了mixins的哪些痛点?


    点击上方“青年码农”关注

    回复“源码”获取各类源码,软件

    Vue3 中新增了“组合式函数”(Composables),它是一个利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数。功能类似 Vue2 的 mixins,但又有所不同。

    先看看 Vue2 中的 mixins 混入的使用

    8a53aaf4dc7430343aa2cca63c2a7a8f.png

    官方介绍:混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。可以这么理解,混入可以是组件的任意部分(生命周期, data等)。

    哪个组件使用就在哪个组件引入

    fdc67b88418a1075d38ee7bcedca3d42.png

    通过上面我们可以很直观的看出 mixins 的问题

    1. 追溯

      当使用了多个 mixins 时, property 来自哪个 mixins 变得不清晰,这使追溯实现和理解组件行为变得困难。

    2. 重名

      多个 mixins 叠加在一起的时候,配置项如果有重名,后面的就会覆盖前面的,但你并不知道谁被覆盖。

    3. 耦合

      多个 mixins 需要依赖共享的 property 键名来进行相互作用,这使得它们隐性地耦合在一起。

    我们在看看“组合式函数”(Composables)的使用

    2b73363ddc7611d78657914ee6f5a6d3.png

    注意:组合式函数约定用驼峰命名法命名,并以“use”作为开头。

    使用

    3d4e46ce60957a6ccb2bd51c3758825d.png

    即使引用多个,依然清晰,

    1. 追溯

      当使用了多个 mixins 时, 追溯来源清晰明了

    2. 重名

      命名冲突会直接提示命名重复了的异常

    3. 耦合

      隐式的跨 minxin交流,引用了重复变量直接会提示

    4. TS

      更好的TS支持

    如上所见,有状态逻辑的函数,移到一个外部函数中去,并返回需要暴露的状态。组件变得非常的简洁干净,页面逻辑也一目了然。

    官方文档:

    https://cn.vuejs.org/guide/reusability/composables.html

  • 相关阅读:
    4D5D影院设备发展前景7D互动影院体验馆应用
    数值微分比较
    AWS组件使用
    Spring Cloud微服务治理框架深度解析
    Linux内核之读写锁机制
    flutter图文列表
    MSP430如何给板子下载程序?(IAR MSPFET CCS)
    CSS 简介
    华为云Astro的前世今生:用7年时间革新低代码开发观念
    Mac 安装comfigUI (M1)
  • 原文地址:https://blog.csdn.net/NMGWAP/article/details/126535514