HeroUI - 免费开源的 React UI 组件库,曾经 NextUI 全新升级,UI 美得不像开源组件库

最近在社区热度很高的 React 组件库 HeroUI,原来的 NextUI 在 V3 版本更名为 HeroUI 后不仅 UI 更好看了,主题系统也变得更加灵活。

我有好长一段时间没有推荐前端 UI 组件库了,原因是现在编程开发模式已经发生比较大的变化,现在我的 VS Code 界面上一半是代码,一半是 Claude Code 终端,绝大部分的代码都不用自己写。

HeroUI 简介

最近用上了一款新的组件库 HeroUI,原名 NextUI,在 V3 版本更名为 HeroUI 后迎来了全新蜕变,不仅 UI 更好看了,主题系统也变得更加灵活。目前在 GitHub 已经得到 27.7k Stars,妥妥的明星级开源项目

HeroUI 官网
HeroUI 官网

我从 Vue 转 React 了?

作为一个 Vue.js 的开发者,我必须承认 Vue 生态下的 UI 组件库在颜值上总是差了那么点意思。React 生态下的组件库简直是百花齐放,各家都有自己的设计语言和审美追求,选择余地大得多。

React 的语法和概念和 Vue 有不小差异,前些年我只能眼睁睁看着漂亮优雅的 React 不会用。但这两年 AI 编程工具越来越牛,我开始敢在一些新项目上尝试 React 了。有些之前觉得难啃的知识点,配合 AI 代码补全和解释,实现起来相当顺滑,某些新项目上我也敢用 React 来开发了。HeroUI 就是这样一个让我愿意尝试 React 的组件库——UI 好看、主题丰富、文档有中文,上手门槛不高。

开箱上手使用

HeroUI 官方喊出的 slogan 是 “Beautiful by default, customizable by design”,翻译过来就是「美丽源于默认,设计实现定制」。实际体验下来,这话还真不是吹的。

组件默认的样式就非常精致,阴影、圆角、动效都恰到好处,不会过于花哨,也不会显得 Low。这种开箱即用的体验对于不想在 UI 细节上花费太多时间的开发者来说非常友好。

HeroUI 组件展示
HeroUI 组件展示

丰富的主题预设

HeroUI 内置了 11 套预设主题,包括 default、sky、lavender、mint、netflix、black、spotify、coinbase、airbnb、discord、rabbit 等。切换主题只需要修改配置,完全不用去覆盖组件样式。

对于需要多品牌切换或者深色模式切换的项目来说,这个设计非常实用。我个人比较喜欢 lavender 主题,色调温柔又高级。

常见业务场景组件

HeroUI 提供了丰富的基础组件,涵盖了表单、数据展示、交互反馈等常见场景:

  • 表单组件:邮箱输入、价格输入、状态选择下拉等
  • 数据展示:图表组件支持 1D/7D/1M/1Y/All 等时间范围展示
  • 交互组件:对话框、通知、验证码验证等
  • 账户相关:社交登录(Google/Apple)、通知设置、credits 配额展示

对于 admin 后台管理系统或者 SaaS 产品来说,这些组件基本能满足日常开发需求。

交互细节做得不错

实际使用中我发现 HeroUI 的组件在交互细节上下了不少功夫。比如按钮有多种变体:filled、bordered、light、flat、ghost,每种还有 solid、soft、comfort 这三种浓度可选。这种精细的变体设计在其他组件库中并不常见。

输入框的 focus 状态有漂亮的动画,边框颜色会渐变过渡,而不是生硬地切换。对于追求细节的项目来说,这些小优化能显著提升整体品质感。

对话框和反馈组件

现代 Web 应用离不开各种交互反馈。HeroUI 提供了:

  • 确认对话框:用于危险操作确认,比如删除数据时会有明确的警告提示
  • 未保存更改提示:编辑表单时离开页面会触发确认,避免误操作丢失数据
  • 通知系统:支持 success、warning、error、info 四种类型,可以满足不同场景的消息提示需求

这些组件拿来就能用,省去了不少重复造轮子的时间。

主题定制灵活

虽然默认主题已经很好看,但 HeroUI 也没有封死定制的口子。它提供了完整的主题定制机制,我们可以在预设主题基础上调整颜色、字体、间距等细节,官方文档有详细的定制教程。

安装和使用

HeroUI 基于 React 生态,可以用 npm 来安装:

npm install @heroui/react

然后在入口文件引入 Provider 即可开始使用。文档站有完整的中文支持,对于中文开发者来说学习成本很低,不过现在谁还看文档,有什么直接问 AI 了,甚至问都懒得问,直接让 AI 写… 所以呢,我就不像以前那样铺代码出来了,意义也不大。

HeroUI 文档
HeroUI 文档

也能开发 APP

大多数组件库只专注于 Web 端,而 HeroUI 同时支持 ReactReact Native。这意味着如果你有 Web 和移动端双端需求,可以用同一套设计语言,减少两端 UI 不一致的问题。

不过需要注意的是,React Native 版本需要单独安装,具体可以查看官方文档。

免费开源说明

HeroUI 是一个 完全免费的开源项目,基于 MIT 协议开源。无论是个人项目还是商业项目,都可以免费使用、自由修改和二次开发。

需要注意的是,HeroUI 本身是免费开源的,官方还有一个 PRO 版,提供额外组件和功能的服务,这个需要付费的。但对于大多数项目来说,开源版本已经足够用了。