shadcn/ui shadcn/ui 一个用于 React(Next.js)项目的可复用 UI 组件库,基于 Radix UI 和 Tailwind CSS。

未知
2025-03-06 10:01:38
0
授权协议 MIT  
开发语言 TypeScript
操作系统 跨平台  
软件类型 免费软件
关键字 UI 组件
开源组织
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2025-03-06

shadcn/ui 是一个用于 React(Next.js)项目的可复用 UI 组件库,基于 Radix UITailwind CSS。它的目标是提供灵活、可定制且易于维护的 UI 组件,而不是像 Ant Design 或 Material UI 那样提供一个完整的 UI 设计系统。


shadcn/ui 的特点

  1. 不是 npm 包,而是代码拷贝

    • 你并不会像安装 antd 那样 npm install shadcn-ui,而是直接把组件代码拷贝到你的项目中,你可以完全控制这些代码。
  2. 基于 Radix UI 和 Tailwind CSS

    • 组件使用 Radix UI 的无样式组件,然后通过 Tailwind CSS 进行美化,非常易于定制。
  3. 灵活性极高

    • 你可以自由修改组件的代码,调整样式或逻辑,而不受官方更新的限制。
  4. 适用于 Next.js 和 React

    • 推荐用于 Next.js,但也可以用于 React 项目。
  5. 无需额外的 JavaScript 运行时

    • 组件是静态的 React 组件,没有额外的 JavaScript 运行时,不会增加 bundle 体积。

如何使用 shadcn/ui

1. 安装 CLI

你需要使用 shadcn CLI 来安装组件:

sh
npx shadcn-ui@latest init

然后按照 CLI 提示进行设置。

2. 添加组件

比如要安装 Button 组件:

sh
npx shadcn-ui@latest add button

这会在你的 components/ui/ 目录下生成 button.tsx 文件,你可以自由修改。

3. 使用组件

tsx
import { Button } from "@/components/ui/button"; export default function Example() { return <Button variant="outline">点击我</Button>; }

常见组件

shadcn/ui 提供了一些常见的 UI 组件,例如:

  • Button(按钮)
  • Card(卡片)
  • Dialog(对话框)
  • Dropdown Menu(下拉菜单)
  • Input(输入框)
  • Table(表格)
  • Tooltip(工具提示)
  • Tabs(标签页)
  • Accordion(手风琴)
  • Skeleton(骨架屏)
  • Toast(通知)
  • 还有更多……

你可以使用 npx shadcn-ui add <组件名> 添加它们。


shadcn/ui 适合谁?

适合:

  • 需要自定义 UI,但不想从零开始的人
  • 喜欢 Tailwind CSS 和 Radix UI 的开发者
  • 需要高自由度、低依赖的 UI 解决方案

不适合:

  • 想要开箱即用的设计系统(如 MUI、Ant Design)
  • 不想修改组件代码,希望完全由官方维护

总结

shadcn/ui 不是一个传统的 UI 库,而是一个 可复用的 UI 组件代码库,允许你自由修改组件,而不会被官方更新影响。如果你在用 Next.js + Tailwind CSS,并且需要高自由度的 UI 组件,它是一个不错的选择! 🚀

代码

0

相关软件

ComfyUI - 最强大和模块化的扩散模型 GUI 和后端
ComfyUI 是一个基于 Web 的用户界面工具,主要用于生成人工智能(AI)驱动的图像...
2025-02-24 10:36:51
Electron - 跨平台桌面应用开发工具
Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面...
2024-03-10 11:43:01
ollama - 本地运行的大语言模型(LLM)平台 Ollama 是一个本地运行的大语言模型(LLM)平台,可以启动并运行 Llama 3.3、Deep...
Zed - 高性能、多人代码编辑器 Zed 是一款高性能、多人代码编辑器,由 Atom 和 Tree-sitter 的创建者开发。它也是...
HarmonyOS NEXT - 华为公司自研操作系统 HarmonyOS NEXT是华为公司自研操作系统,该系统是鸿蒙抛弃Linux内核及安卓开放源代码项...
ChatGPT - OpenAI发布的AI聊天机器人模型 ChatGPT(全名:Chat Generative Pre-trained Transformer...
PHP - 动态网页脚本语言 PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种...
Open WebUI - 用户友好的 AI 界面 Open WebUI 是一个功能丰富、用户友好的开源自托管人工智能界面,旨在为用户提供与大型语言模型...
Linux - 开源操作系统 Linux 是一个类 Unix 操作系统,是 Unix 的一种,它控制整个系统基本服务的核心程序 (...
Cursor - AI 代码编辑器 Cursor 是一款基于人工智能的代码编辑器,由美国公司 Anysphere 开发,旨在通过集成先进...
AnythingLLM - 易于使用的一体化 AI 应用程序 AnythingLLM 是一个功能强大且灵活的开源 AI 应用程序,由 Mintplex Labs ...
Swoole - PHP 协程框架 Swoole 使 PHP 开发人员可以编写高性能高并发的 TCP、UDP、Unix Socket、H...

最新文章

混元-T1: 强化学习驱动,业内首个超大规模混合Mamba推理模型正式发布 强化学习在大语言模型的后训练阶段开创了新的Scaling范式,这一突破正日益受到业界重视。随着Ope...
4个顶级的搜索引擎API,构建AI应用必备 本文介绍四款Web搜索API:博查、微软Bing、GoogleSerpApi和Exa.ai,各自具有...
多个大模型常用的搜索api插件分享 推荐谷歌搜索插件、exa search api和firecrawl搜索API工具。exa提供精炼ht...
通俗易懂说清楚什么是MCP 这两天随着 Manus 的爆火,MCP 也被大家频繁提及,那 MCP 到底是什么?说的通俗点,它就是...
AGI时代不可避免了,给8点建议 不管大家相不相信、愿不愿意接受,随着gpt、deepseek和manus这类产品的加速发展。以及机器...
人工智能冲击,美国程序员就业人数跌至1980年以来最低 美国劳工统计局的当前人口调查(Current Population Survey)数据显示,由于人工...
OpenAI 今天又发布了一批新功能,这次是三个音频模型API OpenAI 今天又发布了一批新功能,这次是三个音频模型API,个人觉得挺实用。新音频模型一览这次发...
推荐自媒体多平台分发视频发布顺序 自媒体 多平台分发视频 发布顺序如下
AI画图(AI绘画):文生图提示词(prompt)教学 AI画图(AI绘画):文生图提示词(prompt)教学 提 示 词 (Promp0 是 一 种 用 ...
四部门联合印发《人工智能生成合成内容标识办法》 为了促进人工智能健康发展,规范人工智能生成合成内容标识,保护公民、法人和其他组织合法权益,维护社会公...