Hooks
介绍
@vmf-kit/hooks 提供了一系列可复用的 Vue Composition API Hooks,帮助你更好地组织和复用组件逻辑。
安装
bash
npm install @vmf-kit/hooks使用方式
ts
import { useCustomHook } from "@vmf-kit/hooks";
// 在组件中使用
const { data, loading } = useCustomHook();Hooks 分类
状态相关
useToggle- 切换状态useBoolean- 布尔值状态管理useCounter- 计数器useList- 列表数据管理useSet- Set 数据管理useMap- Map 数据管理
生命周期
useMount- 组件挂载时执行useUnmount- 组件卸载时执行useUpdate- 组件更新时执行
副作用
useDebounce- 防抖值useThrottle- 节流值useTimeout- 定时器useInterval- 定时器
DOM
useEventListener- 事件监听useScroll- 滚动监听useResize- 尺寸监听useInViewport- 元素可见性监听
网络
useRequest- 网络请求useWebSocket- WebSocket 连接useSSE- Server-Sent Events
设备
useMediaQuery- 媒体查询usePreferredDark- 暗色主题判断useGeolocation- 地理位置
表单
useForm- 表单管理useFormItem- 表单项管理useValidation- 表单验证
使用示例
useToggle
ts
import { useToggle } from "@vmf-kit/hooks";
const [state, { toggle, setLeft, setRight }] = useToggle();
// 切换状态
toggle();
// 设置为 true
setLeft();
// 设置为 false
setRight();useRequest
ts
import { useRequest } from "@vmf-kit/hooks";
const { data, loading, error, run } = useRequest(async () => {
const res = await fetch("https://api.example.com/data");
return res.json();
});
// 手动触发请求
run();useEventListener
ts
import { useEventListener } from "@vmf-kit/hooks";
// 添加点击事件监听
useEventListener("click", (event) => {
console.log("点击事件:", event);
});API 参考
每个 Hook 的详细用法和参数说明,请参考对应的 API 文档:
- [状态相关]
- [生命周期]
- [副作用]
- [DOM]
- [网络]
- [设备]
- [表单]