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

37 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: shared-hooks
name: 共享 React Hooks
area: shared
status: 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 泛型