Hooks 参考

Litopia 自定义 React Hooks 索引——86 个 hooks,按功能分类

所有自定义 hooks 位于 src/hooks/。命名规范:use + CamelCase。组件内 hooks 优先级高于全局 hooks。

认证与用户

  • useAuth — 当前用户、登录状态、登出
  • useRequireAuth — 认证守卫——未登录自动跳转 /auth

数据获取(TanStack Query)

  • useArticleDetail — 文章详情获取
  • usePersonalizedRecommendations — 个性化推荐
  • useArticlePublish — 文章发布逻辑
  • useEditorVotes — 编辑器投票

UI 状态

  • useToast — Toast 通知(shadcn/ui)
  • useLongPress — 长按手势
  • useReadingProgress — 阅读进度追踪

平台适配

  • usePlatformInfo — 平台检测(Web/APP/Desktop)
  • useWeChatAdaptation — 微信浏览器适配

表单与验证

  • useColumnFormValidation — 专栏表单验证
  • useSmsVerification — 短信验证

最佳实践

  • Query keys 使用数组格式:['resource', id]
  • Mutation 成功后调用 invalidateQueries 刷新缓存
  • 使用 enabled 选项控制 query 执行时机
  • 组合 hooks 时应保持单一职责——一个 hook = 一个关注点