返回博客

UI库

发布于

fullstackreact

开源免费、且对 React + Next.js + Tailwind 友好的 UI 库,按“生产主力 / 快速原型 / 无样式底层 / 专项场景”分四层给你。

一、生产主力(React/Next 首选)

shadcn/ui —— 最推荐

  • 模式不是 npm 装包,而是 CLI 把组件源码复制到 components/ui/,你完全拥有、可改;基于 Radix 原语 + Tailwind,a11y 好。
  • Next.js App Router 适配好:components.jsonrsc: true,纯展示组件可放 Server Component,下拉/对话框等交互组件由 CLI 自动加 "use client"
  • Tailwind v3/v4 都支持;v4 下主题变量写在 globals.css@theme/CSS 变量里,暗色用 .dark 或 CSS 变量切换。
  • 免费开源(社区以 MIT 分发组件/代码段为主),图标默认接 Lucide。

快速起:

npx create-next-app@latest my-app --typescript --tailwind --app
cd my-app
npx shadcn@latest init      # 选 base color、CSS 变量、alias
npx shadcn@latest add button card dialog form table

适合:SaaS 后台、长线产品、要做自己的设计系统。

HeroUI(原 NextUI) —— 想要“开箱好看”的替代

  • React + Tailwind + React Aria,默认主题精致、暗色/主题通过 Tailwind 插件改,TypeScript/CLI 齐全,210+ 组件、a11y 基于 React Aria。
  • 比 shadcn 更“有默认视觉”,但定制深度不如直接拥有源码。
  • 适合:创业产品页+后台一体、不想从按钮开始调样式。

二、快速原型 / 轻量全框架

DaisyUI

  • Tailwind 插件,btn/card/modal/navbar 等语义类 + 30+ 内置主题,纯 CSS、零 JS 依赖,React/Vue/Svelte/HTML 都能用;MIT,v5 支持 Tailwind v4。
  • 优点:改 data-theme 整站换肤、bundle 极小;缺点:深交互组件不如 Radix 系、React 专用能力少。
  • 适合:内部工具原型、Admin 快速搭、非重度定制。

Flowbite(免费核心)

  • Tailwind 组件 + 自带 JS 交互,支持 React/Vue/Svelte/原生;按钮/导航/下拉/模态/日期选择都有,官方文档给 Tailwind v4 的 @plugin "flowbite/plugin"@source、JS 引入方式。
  • 注意:开源核心免费,Pro/Blocks 收费;React 用它的包或复制 HTML 均可。
  • 适合:要现成带 JS 行为、又不想自己封 Radix 的中小项目。

三、无样式底层(自己套 Tailwind)

如果不想用“成品样式库”,只想要行为+可访问性:

  • Radix UI:无样式 React 原语,dialog/menu/popover/select 等,a11y 极强,shadcn 底层之一;免费 MIT。
  • Headless UI:Tailwind 团队出品,React/Vue,dropdown/dialog/switch 等,体积小、ARIA 完整。
  • React Aria(Adobe):更偏细粒度无障碍,定制成本高于 Radix,但企业/强合规场景很稳。

适合:已有设计语言、要完全控制类名和像素。

四、专项补充(免费但有边界)

  • Tremor:React + Tailwind 数据看板,卡片/指标/图表类,适合分析后台;带图表依赖,体积中等。
  • Aceternity UI / Magic UI:Tailwind + Framer Motion 动画组件,落地页 hero、营销特效好用;核心免费、Pro 模板收费,不建议当基础表单库。
  • HyperUI / Tailblocks:纯 HTML/Tailwind 区块,复制粘贴做落地页快,不是 React 组件库,Next 里要自己包成组件。

五、怎么选(直接给结论)

  • Next.js 长线产品/后台:shadcn/ui + Radix + Lucide,Tailwind v4 新项目直接上
  • 要少写样式、默认美观:HeroUI
  • 纯原型/全框架/换主题快:DaisyUI
  • 要下拉模态等 JS 行为且不愿封原语:Flowbite 免费核心
  • 强无障碍/自建设计系统:Radix 或 Headless UI + 自己写 Tailwind 变体
  • 看板/指标大屏:Tremor;营销动效:Aceternity/Magic 仅做补充

如果你用的是 Next 15 App Router + Tailwind v4 + TS,我可以直接按“路由布局、服务端取数表单、对话框/Toast、暗色主题”给一套 shadcn 初始化文件结构。