用途:为 React 组件结构、状态管理、Next.js 路由、类型与测试提供架构模式与检查清单,适用于编写或评审 React/Next.js 项目代码。
主要能力:
- 组件 TypeScript:用 ComponentPropsWithoutRef 扩展原生元素,children 用 ReactNode,变体用可辨识联合,泛型组件用 keyof 与 extends 约束,事件类型如 React.MouseEvent<HTMLButtonElement>。
- Effect 决策:派生值在渲染中计算、prop 变化用 key 重置、事件用事件处理器,仅外部系统同步才用 Effect,并始终返回清理函数;数据获取可用 ignore 标志或 React Query。
- 状态管理选型:本地用 useState/useReducer,共享客户端状态用 Zustand 或 Redux Toolkit,原子化用 Jotai,服务端数据用 React Query,URL 状态用 nuqs,表单用 React Hook Form;客户端状态与服务端状态分离。
- 性能:Promise.all 消除瀑布,避免 barrel 文件,用 next/dynamic 或 React.lazy 懒加载,长列表用 content-visibility,避免在回调外订阅、用函数式 setState 与 useTransition。
- React 19:ref 作为普通 prop(forwardRef 弃用)、useActionState、use()、useOptimistic、useFormStatus、服务端组件与 Server Actions(需在动作内校验鉴权)。
- Next.js App Router:page/layout/template/loading/error 等文件约定,路由组、并行路由、拦截路由,以及 fetch 的 cache、revalidate 与 tag 缓存策略;用 Suspense、React.cache()、generateStaticParams 等。
- 测试:Vitest + RTL 组件测试,renderHook 钩子测试,纯函数单测,Playwright E2E;查询优先级 getByRole 优先,使用 userEvent 与 findBy*。
- Tailwind:类名排序配合 eslint-plugin-better-tailwindcss 的 useSortedClasses。
使用方式:作为开发时的参考规范,按模块查阅对应章节;涉及新版本 API 时先查阅当前官方文档。
限制:未提供安装与配置命令细节;价格、许可、平台与效果等信息暂未提供;部分 API 属实验性或版本相关,需以实际项目版本为准。