react-phone-apps/.blueprint/modules/shared-hooks.md
lanrtop a0929de768 chore: 初始化项目结构与蓝图
- 配置 pnpm workspace monorepo 基础结构
- 初始化 .blueprint/ 蓝图:6 个业务模块、21 张任务卡
- 目标:Z Fold 6 折叠屏不动产物品摸底统计 App(React Native + Expo)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 15:23:39 +09:00

1.3 KiB
Raw Blame History

id name area status
shared-hooks 共享 React Hooks shared concept

概述

跨 app 复用的 React 自定义 Hooks以 packages/hooks 形式发布。依赖 React不依赖具体 UI 框架。

任务卡

💭 搭建 hooks 库骨架

  • status: concept
  • complexity: S
  • files: packages/hooks/package.json, packages/hooks/src/index.ts
  • acceptance: packages/hooks 可被 workspace 内任意 React 应用通过 @repo/hooks 引入peer dependency 声明 react

💭 数据请求 HookuseRequest

  • status: concept
  • complexity: M
  • files: packages/hooks/src/useRequest.ts
  • acceptance: 支持 loading/data/error 三态支持手动触发和依赖自动触发支持取消请求AbortController

💭 移动端交互 Hooks

  • status: concept
  • complexity: M
  • files: packages/hooks/src/useTouch.ts, packages/hooks/src/useScrollLock.ts, packages/hooks/src/useVirtualKeyboard.ts
  • acceptance: useTouch 处理 swipe 手势useScrollLock 控制 body 滚动useVirtualKeyboard 检测键盘弹出并调整视口

💭 持久化状态 HookuseLocalStorage

  • status: concept
  • complexity: S
  • files: packages/hooks/src/useLocalStorage.ts
  • acceptance: 封装 useState + localStorage 同步,支持 SSR 安全(无 window 时优雅降级TypeScript 泛型