一个用于学习和实现 Vue hooks 的实验项目。
项目会参考 VueUse 中常见 hooks 的设计思路,逐步实现简化版本,用来理解组合式 API、响应式依赖收集和异步状态管理等核心机制。
computedAsync:基于watchEffect实现异步计算值,并处理过期异步结果。useTimeoutFn:封装一次性延迟执行逻辑,支持开始、停止和组件卸载时自动清理。useIntervalFn:封装间隔执行逻辑,支持开始、停止和组件卸载时自动清理。useEventListener:封装事件监听逻辑,支持默认监听window或指定EventTarget,并在组件卸载时自动移除监听。
src/hooks/
└── core/
├── computedAsync/
├── useTimeoutFn/
├── useIntervalFn/
└── useEventListener/pnpm install
pnpm dev
pnpm run type-check
pnpm lint