这个项目能做什么

React-admin 是由 marmelab 维护的一个前端框架,用于在 REST 或 GraphQL API 之上构建运行在浏览器中的单页应用程序。它使用 TypeScript 编写,基于 React 和 Material Design 构建,并在 npm 上以 react-admin 的名称分发。 后端无关性:该框架通过称为 Data Providers 的适配器与 API 通信。README 中链接了一个包含 45 个以上适配器的 Data Provider 列表,并解释说现有的提供程序可以作为 API 的蓝图,或者可以编写自定义 Data Provider 来查询现有 API。 构建模块:该项目提供涵盖身份验证、路由、表单与验证、数据网格(datagrids)、搜索与过滤、关系、角色与权限、富文本编辑器、i18n、通知、菜单、主题和缓存的钩子与组件。它还列出了可访问性、响应性、安全性、速度和可测试性等特性,以及乐观渲染、即时过滤、撤销、偏好设置和保存查询等用户体验功能。 自定义:react-admin 被呈现为一个由松耦合 React 组件和钩子组成的库,公开了可重用的控制器逻辑,因此任何部分都可以被替换为自定义实现,例如自定义数据网格、使用 GraphQL 代替 REST,或使用不同的设计系统代替 Material Design。TypeScript 被描述为可选的,因此可以使用 TypeScript 或 JavaScript 进行开发。README 指出,该框架由 Material UI、react-hook-form、react-router、react-query 和 TypeScript 等驱动。 快速上手:通过 npm install react-admin 或 yarn add react-admin 进行安装。文档包括教程、YouTube 视频教程和完整的 API 参考。仓库包含示例应用程序:用于端到端测试的包含帖子、评论和用户的简单博客;作为官方演示的电子商务海报店管理后台;一个 CRM 应用程序;一个具有实时锁和通知的帮助台工单应用程序;以及按照教程构建的应用程序。README 指出,由于 API 在客户端模拟,这些示例无需服务器即可运行。 一个极简使用示例展示了 Admin 组件包裹 Resource 组件,后者为 API 端点声明列表、编辑和创建页面,页面组件则由 List、DataTable、Edit、Create、SimpleForm、DateField、EditButton 和输入组件构建。 开发:该 monorepo 使用 makefile,包含 make install、make build、make run-simple、make run-demo、make test 和 make prettier 等命令。单元测试使用 jest,端到端测试使用 cypress,并且 git pre-commit 钩子会运行与修改文件相关的测试。贡献者需遵循现有的基于 prettier 的代码风格,并包含单元测试和文档。Bug 修复的 pull request 针对 master 分支,而新功能和破坏性变更则针对 next 分支。 支持与许可:社区支持通过 Discord 和 StackOverflow 提供,商业支持则通过 React-Admin Enterprise Edition 提供。React-admin 采用 MIT 许可证,可免费使用,包括商业用途。