尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
shadcn/ui 新建项目时 Base UI 与 Radix 基础组件库怎么选?
shadcn/ui 新建项目时 Base UI 与 Radix 基础组件库怎么选【免费下载链接】uiA set of beautifully-designed, accessible components and a code distribution platform. Works with your favorite frameworks. Open Source. Open Code.项目地址: https://gitcode.com/GitHub_Trending/ui/ui在 shadcn/ui 里用 CLI 新建项目npx shadcnlatest init时需要选定一个基础组件库base。从 2026 年 7 月起Base UI 是 shadcn/ui 的默认基础组件库Radix 保持完整支持两者都可以通过-b, --base参数在新建项目时指定取值范围是base、radix、aria。这篇文章说明选型的文档依据、两条路径的具体命令以及如何验证最终生效的 base。选型的官方依据关于选哪个项目文档给出的事实如下来源2026-07-base-ui-default.mdxBase UI 已稳定版本 1.6.0周下载量 6M团队持续发布新组件官方对Starting something new?的明确回答是 We recommend Base UI。Radix 没有被废弃官方仍在生产环境运行 Radix 且自身不做迁移——If your app works, keep shipping。每一次更新和新组件都会同时发布给两个库除非某组件只存在于 Base UI。已有项目无需迁移Radix 是成熟、经过测试的库存量项目保持在当前 base 上即可。文档也给出了历史背景shadcn/ui 2023 年 1 月首发时基于 Radix 构建而 Base UI 出自 Radix 原班团队2025 年 12 月npx shadcn create开始提供双库选择2026 年 1 月补全了 Base UI 全套组件文档来源2026-01-base-ui.mdx。两者关系是同一套抽象、不同的底层原语无论选哪个库组件的使用方式一致例如 Dialog 在两个库下都是// Works the same whether youre using Radix or Base UI. import { Dialog, DialogContent, DialogTrigger } from /components/ui/dialog所以选型的核心问题不是哪个组件库的功能界面不一样而是团队现状与生态惯性新项目跟默认值走 Base UI团队已有 Radix 积累或明确要求 Radix 的就指定 Radix。新建项目时指定基础组件库CLI 文档中init命令的相关选项来源cli.mdx/cli.mdx)Options: -t, --template template the template to use. (next, vite, start, react-router, laravel, astro) -b, --base base the component library to use. (base, radix, aria)默认走 Base UI——不加-b直接初始化npx shadcnlatest init -t next支持的新项目模板为next、vite、startTanStack Start、react-router、astroLaravel 需先用laravel new建应用再执行init见 installation/index.mdx。明确指定 Radixnpx shadcnlatest init --base radix这里有一个容易忽略的场景官方 changelog 专门提醒如果脚本或 CI 正在非交互地运行shadcn init并预期得到 Radix需要显式加上-b radix——因为默认值已从 Radix 切换为 Base UI不加参数会静默落到 Base UI 上。另外注意aria这个取值2026 年 7 月 React Aria 成为第三类一等 basenpx shadcnlatest init --base aria与 Base UI、Radix 并列可选同一份 changelog 也确认Base UI remains the default, and Radix remains fully supported. Existing projects stay on their current base来源2026-07-react-aria.mdx。本文只讨论 Base UI 与 Radixaria按同一条-b参数处理即可。用 npx shadcnlatest info 验证 base 是否生效初始化完成后用info命令查看项目当前状态npx shadcnlatest info按 CLI 文档info会展示 framework、version、CSS vars、已安装的组件等完整信息agent 技能文档 skills/shadcn/rules/base-vs-radix.md 明确要求Check thebasefield fromnpx shadcnlatest info即判断当前项目 base 的入口就是info输出里的base字段。还有一个直观的交叉验证add组件时安装的原语依赖不同。以 Base UI 版 Button 的手动安装步骤为例依赖是来源components/base/button.mdxnpm install base-ui/react而 Radix 侧组件对应radix-ui/react-*系列包CLI 还提供migrate radix迁移把这些分散包统一成radix-ui单一包。初始化后检查package.json里装的是base-ui/react还是radix-ui/react-*可以直接确认 base 落到了哪一侧。选择前需要了解的两库 API 差异两个库共享上层 API但底层原语的行为有若干已记录的差异这些差异是是否值得偏离默认选 Radix或反之的判断素材。以下摘自 skills/shadcn/rules/base-vs-radix.md组件Base UIRadix组合/替换默认元素renderprop如DialogTrigger render{Button /} /asChildprop如DialogTrigger asChildButton 渲染为a等非按钮元素需额外加nativeButton{false}用asChild即可Select 选项根节点必须传itemsprop占位项是{ value: null }内联 JSX占位用SelectValue placeholder... /Select 能力支持multiple、render 函数、对象值itemToStringValue仅单选、字符串值ToggleGroup布尔multipledefaultValue恒为数组typesingle/typemultiple单选时defaultValue是字符串Slider 单滑块直接传数字defaultValue{50}必须传数组defaultValue{[50]}Accordion无typeprop用布尔multipledefaultValue恒为数组必须typesingle/typemultiple支持collapsibledefaultValue是字符串由此可以得出两条文档支撑的判断需要 Base UI 独有能力时例如 Select 多选、对象值Base UI 是唯一选择——官方也说明每个更新和新组件都发布给两个库除非某组件只存在于 Base UI。团队已有 Radix 代码模式asChild习惯、Radix 的受控值形状时选 Radix 可以少改代码反之新项目按 Base UI 的写法起步。组件级文档同样分库每个组件页有 Base UI 与 Radix 两个标签页文档默认打开 Base UI 标签Radix docs are one click away来源2026-07-base-ui-default.mdx。CLI 侧也支持按库取文档npx shadcnlatest docs combobox # -b, --base base the base to use: base, radix, or aria. defaults to project base.限制与后续路径不要在存量生产应用中切换基础组件库。官方原话是the worst thing you can do for your production app is switch component libraries两个库可以在项目中并存渐进式共存而不是一次性切换。如果之后决定迁移官方提供的是技能skill而非 codemodnpx skills add shadcn/ui然后对编码代理逐组件下达指令例如migrate accordion to base-ui。每次运行产出三样东西可构建、通过类型检查的代码项目根目录.migration/下每个组件一份报告改动、未动项、需人工核验的行为变化清单每个组件一个独立 commit回滚即删分支。构建 registry 的团队如果希望分发内容固定到某个库需要在 registry 项中携带registry:base配置未声明的项现在会按 Base UI 初始化。回到选型本身文档给出的结论是明确的——新项目推荐 Base UI也就是什么都不加时的默认行为有 Radix 偏好时用--base radix显式固定尤其是非交互的脚本和 CI选定后用npx shadcnlatest info的base字段和package.json中的原语依赖包确认结果。【免费下载链接】uiA set of beautifully-designed, accessible components and a code distribution platform. Works with your favorite frameworks. Open Source. Open Code.项目地址: https://gitcode.com/GitHub_Trending/ui/ui创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

一串9引发的生产事故:边界值治理与系统稳定性实践

一串9引发的生产事故:边界值治理与系统稳定性实践

1. 凌晨两点半,我被一条"999999999999999"惊醒 半夜两点四十七分,告警电话打过来的时候,我正睡得不深。监控平台显示,支付回调接口的成功率从99.98%一路掉到92.7%,失败请求不报超时、不报空指针,…

📅 2026/9/9 18:57:50
Playwright 经代理下载浏览器报 “self signed certificate in certificate chain“ 如何解决?

Playwright 经代理下载浏览器报 “self signed certificate in certificate chain“ 如何解决?

Playwright 经代理下载浏览器报 "self signed certificate in certificate chain" 如何解决? 【免费下载链接】playwright Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single AP…

📅 2026/9/9 18:57:50
Qt QML项目CMake模板:从构建配置到跨平台部署的完整指南

Qt QML项目CMake模板:从构建配置到跨平台部署的完整指南

写项目模板这事儿,说实话比写业务代码更容易翻车。业务代码写错了最多功能跑不通,项目模板要是有问题,那真的是一传十、十传百,整个团队、整个仓库的工程化地基都跟着歪。尤其是Qt的QML项目,C和QML混着写,资…

📅 2026/9/9 18:57:50
MORE NEWS

更多资讯

📰

JetBrains 全家桶 One Dark 主题安装、配置与对比指南

简介:一款为 IntelliJ IDEA、PhpStorm、PyCharm、RubyMine、WebStorm 等 JetBrains 系 IDE 打造的深色主题,基于 One Dark 配色风格,适合长时间编写代码并希望降低视觉疲劳的前端与后端开发者。该主题已在 PhpStorm 2017.3/2018.2 和 Intelli…

📰

HBase线上故障复盘与优化:GC停顿、写入阻塞与容量规划实战

HBase线上故障复盘与优化:GC停顿、写入阻塞与容量规划实战 1. 故障背景与问题发现 在某电商公司HBase集群中,近期出现了明显的性能问题,表现为查询响应时间增加、写入吞吐量下降,甚至偶发的服务不可用。通过监控系统发现&#xff…

📰

区块链链重组致余额异常?一次真实Reorg排查与加固实践

1. 早上七点的告警:余额凭空少了一截 1.1 告警内容与第一反应 先交代一下背景:我在一家做钱包后台服务的团队做区块链运维,日常维护一条公链的多个节点,以及基于节点的充提、余额扫描和索引服务。第 3 天的日记,写的是…

📰

安全漏洞测试与防范实战:从渗透测试到修复闭环

安全漏洞这个词,在开发圈和测试圈里已经被念叨了无数遍,但真正动手去测、去防的人依然不多。很多人一说起安全测试,第一反应是“那是安全工程师的事”,第二反应是“等上线前找个工具扫一扫就行”。这两句话,恰恰是高危…

📰

HBase 2.x 新特性解析:性能优化与稳定性提升

HBase 2.x 新特性解析:性能优化与稳定性提升 本文深入解析HBase 2.x中的三大关键新特性:In-Memory Compaction、Offheap Read/Write和Async WAL,探讨它们如何提升HBase的性能和稳定性,并提供实际应用建议和代码示例。 1. In-Mem…

📰

SpringBoot宠物店管理系统实战:从数据库设计到部署答辩全攻略

每年到这个时间点,我总能在后台看到一堆类似的留言:“博主,有没有SpringBoot的管理系统源码?”“宠物店管理系统能不能出一期?”“毕设选题选了宠物店,但代码跑不起来怎么办?”其实这类基于Spri…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬