Skip to content
On this page

Hooks 总览

Hidden Title

hooks 是基于 Vue 组合式 API 的状态和生命周期封装,适合放在 sybz-components 主包中使用。它们和组件一样依赖 Vue 运行环境;@sybz-components/utils 更适合放不依赖 Vue 的纯函数,例如格式化、校验、复制、时间处理。

主流用法

主流 Vue 组件库通常会把 composables/hooks 从组件库入口或独立子路径导出:

ts
import { useLoading, usePagination } from 'sybz-components'
import { useLoading, usePagination } from 'sybz-components'
ts
import { useLoading, usePagination } from 'sybz-components/hooks'
import { useLoading, usePagination } from 'sybz-components/hooks'

这种写法是合适的:业务项目不需要知道 hooks 的源码目录,也方便后续保持 API 稳定。建议业务侧优先从 sybz-components 引入;如果只想表达“我只用 hooks”,可以从 sybz-components/hooks 引入。

当前 Hooks

放在哪里更合适

类型推荐位置说明
依赖 refcomputed、生命周期、DOM 响应式监听的组合式函数sybz-components/hooks和 Vue 强绑定,属于组件库能力
纯函数、格式化、校验、数据转换@sybz-components/utils不依赖 Vue,更适合作为独立工具包
只服务组件内部的封装packages/hooks 内部使用可以导出,也可以不暴露给业务

useGlobalComponentConfig 是组件库内部用于合并全局组件配置的 hook,业务项目通常不需要直接使用。

思云博智私有前端组件库