当前位置: 首页 > news >正文

shadcn 使用步骤与注意点

目录

一、shadcn ui

二、使用流程

1.安装

2.颜色与主题

3.引用blocks

三、使用注意点

四、推荐搭配工具

五、总结


一、shadcn ui

官网:Build your component library - shadcn/ui

为何选择它?因为它是一个基于 Tailwind CSS + Radix UI 的组件集合,它不像传统组件库(比如 AntD 或 MUI)那样是一个 npm 包,而是 提供组件代码让你复制到项目中,你拥有完全的控制权——没错,控制权!这样我就会节省很多时间去开发一套常见又琐碎的组件,我可以专注与根据设计稿还原界面。而且我确实更喜欢使用工具,我对 react 还不是很熟练,正好可以学习别人的代码是一套怎样的规范逻辑。


二、使用流程

react 18或者 19,现在可以 19,但是官网推荐 18。并且要先安装tailwind css。

tailwind文档:Installing Tailwind CSS with Vite - Tailwind CSS

shadcn ui 安装:Installation - shadcn/ui

1.安装

根据当前的构建工具选择合适的版本,我是vite,因为推荐Tailwind v4,所以我使用的也是这个。

根据文档下载到项目里,会出现一个文件夹:src/components和配置文件components.json。

2.颜色与主题

设置样式文件:默认是 ./app/globals.csssrc/index.css。这个库也会根据你下载的组件,进行一些主题的设置补充,比如一些颜色--color-sidebar-primary等等。你也可以选择主题,copy code 到代码里。

3.引用blocks

因为大多数项目需要一个 header、sidebar、layout俩规划页面的整体布局,登录页(后面试试)等等,所以可以查看这里来获取自己想要的布局和页面效果:

Building Blocks for the Web - shadcn/ui

我喜欢sidebar7,于是:

npx shadcn@latest add sidebar-07

 执行后的下载结果如下:


三、使用注意点

补充这个组件库的一些知识,来自gpt:

1. 你拥有代码的所有权

  • 所有组件都是本地文件,可以随意改造。

  • 更新组件不是通过升级版本,而是 重新 add 一遍组件

2. 依赖 Tailwind CSS & Radix UI

  • 所有交互(如弹窗、popover、switch)是用 Radix UI 实现的。

  • 如果你对无障碍(a11y)有要求,这是加分项。

3. 组件样式是通过 CSS 变量实现的设计系统 

  • text-primary 实际是:.text-primary { color: var(--primary); }

  • 如果你用的是默认主题,会有这些变量:--primary, --secondary, --muted

  • 你可以在 tailwind.config.tsextend.theme 中改,也可以在 :root 自定义::root { --primary: #6366f1; --primary-foreground: #ffffff; }

4. 按需添加组件即可

  • 没必要一次性加完所有组件。

  • 想用哪个组件就 npx shadcn-ui@latest add xxx。 

 后面开发的时候如果遇到其他注意点,我会继续补充进去。


四、推荐搭配工具

工具用法
clsx / classnames处理 className 逻辑
tailwind-variants做组件的变体(variant)管理
lucide-react图标库,shadcn 默认使用的
prettier-plugin-tailwindcssTailwind class 排序好看方便


五、总结

使用效果如下:

相关文章:

  • Java面试黄金宝典41
  • k8s 1.30.6版本部署(使用canal插件)
  • Axure中继器(Repeater): 列表展示
  • 火山模型的优缺点与优化实践 | OceanBase SQL优化
  • C++·包装器
  • 新一代达梦官方管理工具SQLark:可视化建表操作指南
  • verilog有符号数的乘法
  • 华为存储考试内容HCIP-Storage
  • RPC 2025/4/8
  • 【QT】 进程
  • 企业级Java开发工具MyEclipse v2025.1——支持AI编码辅助
  • QML面试笔记--UI设计篇01常用控件分类
  • MFC工具栏CToolBar从专家到小白
  • Springboot框架—单元测试操作
  • 【MATLAB例程】基于鲁棒卡尔曼滤波的弹性状态估计与欺骗攻击检测
  • Github 热点项目 ChartDB AI自动导表结构+迁移脚本,3分钟生成专业数据库关系图
  • 【安全】Web渗透测试(全流程)_渗透测试学习流程图
  • NO.77十六届蓝桥杯备战|数据结构-单调队列|质量检测(C++)
  • PG数据库中级证书含金量高吗
  • 鸿蒙NEXT开发资源工具类(ArkTs)
  • 重庆网站建设推广/seo黑帽培训骗局
  • 深圳龙岗做网站公司/企业培训体系
  • 查网站域名备案查询/护肤品软文推广
  • 游戏门户网站有哪些/九江seo公司
  • 公司网站建设南宁/网络营销的产品策略
  • dede网站站内推广方法/服务器域名查询