React 前端技术栈规范
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9501dc6b/stack-fe-react。
技能介绍
它解决什么问题
团队里最常见的前端腐化不是缺框架,而是约定没有被强制执行:有人用 useEffect + fetch + useState 手写数据请求,有人引入 Redux 只为存一个弹窗开关,有人手写 tailwind.config.ts 与 v4 的 CSS-first 配置冲突,最后 pnpm build 和 pnpm test 各跑各的。stack-fe-react 把一套经过验证的技术选型和工程约束固化下来,让生成、重构、评审代码时的判断标准统一。
它如何工作
核心不是文档,而是 assets/frontend-template/ 这个脚手架工程——它已经通过 pnpm install && pnpm build && pnpm test,包含 features/projects 参考模块。技能的工作方式是先定位、再动手:
- 技术栈基准:TypeScript
strict且禁any;React 19 仅函数式组件并启用 React Compiler;Vite +@vitejs/plugin-react;包管理只认pnpm;路由用 React Router v7 默认库模式;服务端状态走 TanStack Query 的useSuspenseQuery;客户端状态用 Zustand,禁 Redux;请求统一 Axios 实例与拦截器;样式用 Tailwind v4 的@theme而非配置文件;组件库用 shadcn/ui;表单用 React Hook Form + Zod。 - 新建项目:复制模板后改名、改
package.json与index.html标题、调整src/index.css的@themetoken、用npx shadcn@latest add按需加组件,最后必须让pnpm build与pnpm test全绿。 - 代码组织铁律:业务代码一律进
features/<name>/,feature 内自包含api/、types/、components/,index.html必须在项目根目录。 - 数据获取铁律:
loading/error交给<Suspense>与<ErrorBoundary>,组件内不写if (isLoading) return ...;响应用z.parse()解析,类型由z.infer推导;写操作用useMutation,成功后精确失效相关queryKey。 - 提交前自检清单:逐条确认没有
useEffect手写请求、没有禁用库、没有手动useMemo/useCallback/React.memo、核心逻辑有测试等。
详细的库选型理由、React Compiler 说明和 Router 模式选择见 references/stack-rules.md,代码质量与测试规范见 references/coding-style.md。
适用边界
这套规范只适配 React 19 + Vite + pnpm 的项目。需要 SSR/SEO 时应把 Router 切到框架模式,但模板本身是纯 SPA 起手。它明确禁止 npm/yarn、Redux、lodash/moment、styled-components/emotion、AntD/MUI/Element,历史项目迁移过来要先做技术债盘点。模板默认开 React Compiler,所以不要再手动补 memo 优化;如果构建环境无法用 Babel 管线,可换 -swc 版插件提速。
使用场景
- 从零创建前端项目,需要按模板初始化 React 19 + TypeScript + Vite 工程并跑通构建与测试
- 审查或重构已有代码,把 useEffect + fetch + useState 的手写请求迁移到 TanStack Query + Zod
- 搭建团队主题与设计体系,用 Tailwind v4 @theme 和 shadcn/ui 统一样式与组件来源
- 整理代码规范文档,用提交前自检清单逐项确认禁用库、strict 模式和测试覆盖
适合人员
- 前端工程师,要在新建项目时落地一套可构建验证的 React 19 技术栈
- 前端架构师,需要统一团队的组件分层、数据获取和样式规范
- 从零搭建应用的全栈开发者,希望跳过手工配置直接获得经过验证的工程模板