介绍
欢迎来到 HeroUI 文档!
什么是 HeroUI?
HeroUI 是一个帮助你构建美观且可访问的用户界面的 React UI 库。它基于 Tailwind CSS 和 React Aria。
HeroUI 的主要目标是简化开发流程,提供美观且可定制的系统设计,以提升用户体验。
常见问题
HeroUI 是复制粘贴式库吗?
不是,HeroUI 并不是复制粘贴式库。所有组件都可以通过 npm 进行获取,并可单独安装或整体安装。
HeroUI 与 TailwindCSS 有何区别?
-
TailwindCSS:
Tailwind CSS 是一个 CSS 框架,它提供原子级 CSS 类,帮助你为组件进行样式设计,仍需你处理诸多其他问题,如可访问性、组件组合、键盘导航、样式覆盖等。
-
HeroUI:
HeroUI 是一个 React UI 库,将 TailwindCSS 与 React Aria 的强大功能相结合,提供完整的组件(逻辑与样式)来构建可访问且可自定义的用户界面。由于 HeroUI 使用 TailwindCSS 作为其样式引擎,你可以在 HeroUI 组件中使用所有 TailwindCSS 类,确保最终编译的 CSS 大小最优。
HeroUI 与 TailwindCSS 组件库有何区别?
TailwindCSS 组件库,如 TailwindUI、Flowbite 或 Preline,仅提供一套精选的 TailwindCSS 类来为组件进行样式化。它们不提供任何 React 相关的组件、逻辑、props、组合或可访问性功能。
与这些库相比,HeroUI 是一个完整的 UI 库,提供可访问且可自定义的组件、钩子和工具。
HeroUI 如何处理 TailwindCSS 类冲突?
我们创建了一个名为 tailwind-variants 的 TailwindCSS 工具库,自动处理 TailwindCSS 类冲突。这确保你的自定义类会一致地覆盖默认类,消除任何冗余。
HeroUI 使用运行时 CSS 吗?
不。由于 HeroUI 使用 TailwindCSS 作为其样式引擎,所有 CSS 在构建时生成,消除了运行时 CSS 的需求。这意味着 HeroUI 与最新的 React 以及 Next.js 版本完全兼容。
HeroUI 支持 TypeScript 吗?
是的,HeroUI 用 TypeScript 编写并完全支持 TypeScript。
我可以将 HeroUI 与其他前端框架或库一起使用吗,例如 Vue 或 Angular?
不,HeroUI 专为 React 设计,因为它建立在 React Aria 之上。不过,你仍然可以将 HeroUI 组件的样式部分与其他框架或库一起使用。
为何 HeroUI 使用 Framer Motion?
我们使用 Framer Motion 来为某些组件添加动画,因为动画的复杂性和基于物理的特性。Framer Motion 使我们能够以更直观、更高效的方式处理这些动画。此外,它经过充分测试且已投入生产。
社区
我们很高兴看到社区采纳 HeroUI,提交问题并提供反馈。无论是功能请求、bug 报告,还是展示项目,欢迎大家参与!
贡献
在 HeroUI 上提交 PR 永远受欢迎,请查看我们的 贡献指南 了解如何为本项目做出贡献。

