介绍

欢迎来到 HeroUI 文档!

什么是 HeroUI?

HeroUI 是一个帮助你构建美观且可访问的用户界面的 React UI 库。它基于 Tailwind CSSReact 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 组件库,如 TailwindUIFlowbitePreline,仅提供一套精选的 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 永远受欢迎,请查看我们的 贡献指南 了解如何为本项目做出贡献。