目录
- 基础类
- 状态管理
- 路由管理
- UI 组件库
- 开发工具 / 辅助库
- 测试相关
- 表单和数据展示
- 其它实用类
- 代码重构
- 应用迁移:PWA
- 代码组织与架构建议(选项)
下面是一个 React 技术栈常用库/工具清单,按不同分类整理,涵盖开发、状态管理、路由、组件库、工具库、测试等,适合各种规模的项目。
基础类
| 类型 | 推荐库 / 工具 | 说明 |
|---|
| React 框架 | react, react-dom | 核心 |
| 脚手架 | Vite, Create React App, Next.js | Vite 更轻量,Next 支持 SSR |
| 打包构建 | Vite, Webpack, esbuild | 推荐 Vite |
状态管理
| 类型 | 推荐库 | 特点 |
|---|
| 全局状态 | Zustand, Redux Toolkit, Jotai, Recoil | Zustand 简洁,Redux 强大 |
| 表单状态 | react-hook-form, Formik | react-hook-form 更轻量 |
| 本地存储持久化 | zustand/middleware, redux-persist | 支持 localStorage 保存状态 |
| 异步缓存管理 | SWR, React Query | 数据请求 + 缓存 + 状态 |
路由管理
| 类型 | 推荐库 | 说明 |
|---|
| 客户端路由 | react-router-dom | 最主流 |
| 文件路由 | Next.js, Remix | 基于文件系统 |
UI 组件库
| 类型 | 推荐库 / UI 框架 | 说明 |
|---|
| 通用组件库 | Ant Design, Material UI, Chakra UI, shadcn/ui, Tailwind UI | 按需选择风格和体积 |
| 原子 CSS | Tailwind CSS | 灵活,推荐结合组件库使用 |
| 动画/过渡 | framer-motion, react-spring | framer-motion 简洁强大 |
开发工具 / 辅助库
| 类型 | 推荐库 / 工具 | 用途 |
|---|
| 类型检查 | TypeScript | 强烈推荐 |
| 类型工具库 | zod, yup, io-ts | 表单校验,结合 TS |
| 工具函数 | lodash, dayjs, date-fns | 常用 |
| 自定义 Hooks | usehooks, ahooks | 常用 |
| HTTP 请求 | axios, ky, fetch | Axios 功能更全面 |
| 权限管理 | casbin, 自定义 Hook | 控制权限逻辑 |
| 图标库 | react-icons, lucide-react, heroicons | 图标控件 |
| 调试工具 | React DevTools, why-did-you-render | 性能调试很有用 |
测试相关
| 类型 | 推荐库 | 说明 |
|---|
| 单元测试 | Jest, Vitest | Jest 成熟,Vitest 更快(Vite 生态) |
| 组件测试 | @testing-library/react, Enzyme | 推荐使用 testing-library |
| E2E 测试 | Cypress, Playwright | 用于端到端自动化测试 |
表单和数据展示
| 类型 | 推荐库 | 说明 |
|---|
| 表单构建 | react-hook-form, zod, formik | 表单验证+管理 |
| 表格展示 | antd Table, TanStack Table | antd 提供现成 UI,TanStack 更灵活 |
| 图表 | echarts-for-react, recharts, chart.js | 数据可视化 |
其它实用类
| 类型 | 推荐库 | 说明 |
|---|
| 国际化 | react-i18next, formatjs | 多语言支持 |
| 拖拽 | dnd-kit, react-beautiful-dnd | UI 拖拽 |
| 虚拟滚动/列表 | react-window, react-virtual | 适合大数据量 |
| 图片处理 | react-dropzone, react-avatar, cropperjs | 上传、裁剪等功能 |
| markdown 编辑 | react-markdown, mdx, @uiw/react-md-editor | 内容编辑展示 |
| 可访问性(a11y) | react-aria, reach-ui | 支持无障碍组件 |
代码重构
使用 react-codemod 轻松重构 React 代码:Codemods 是以编程方式在代码库上运行的转换,它们使重构代码库变得容易。
应用迁移:PWA
有时候我们需要将已经在浏览器运行的项目提供离线工作、推送通知和设备硬件访问等功能。那就要进行 pwa 迁移。
使用 vite-pwa 将你的应用转变为渐进式 Web 应用程序 (PWA)
代码组织与架构建议(选项)
- 代码风格:Prettier + ESLint + Husky + lint-staged
- 状态组织:hooks + Zustand/Redux Toolkit
- 模块拆分:
features/, components/, hooks/, utils/, types/