开发者生态
morning
Shadcn/UI 现在默认为 Base UI 而不是 Radix
2026-07-05
1 阅读
约6分钟阅读
dabinat
字号:
2026 年 7 月 - Base UI 作为默认组件从今天开始,Base UI 成为 shadcn/ui 中的默认组件库。首先,介绍一下历史。 shadcn/ui 于 2023 年 1 月推出时,它是基于 Radix 构建的。当时,没有其他事情可以与之相媲美。无风格的无头组件、出色的 API、出色的可访问性,在数百万个应用程序中经过了实际考验。快进几年,构建 Radix 的那些人正在构建新的东西:Base UI。他们已经做过一次了。现在他们可以用第一次学到的一切再做一次。去年,Base UI 标记了一个测试版,很多人问我们是否要用它取代 Radix。我说“你能为生产应用程序做的最糟糕的事情就是切换组件库”。我是这么想的,现在仍然如此。因此,我们没有进行切换,而是做了 shadcn 事情:我们为 Base UI 重建了每个组件,保留相同的抽象,然后让您选择。 12 月带来了 npx shadcn create 和两个库。一月份带来了完整的 Base UI 文档。然后我们观察了你用它做了什么。为什么现在 # Base UI 稳定了。目前版本为 1.6.0,每周下载量超过 600 万次。它不断变得更好。该团队定期发布新的有用的组件。我们用它。我们启动的每个新项目都在 Base UI 上运行。你用它。在 shadcn/create 上创建的项目现在选择 Base UI 而不是 Radix 2 到 1。社区已经做出了决定。我们正在将其正式化。更改内容 # 新项目默认使用基本 UI。运行 npx shadcn init ,默认选择 Base UI。 shadcn/create 首先显示基本 UI。该文档默认为 Base UI。组件页面在“基本 UI”选项卡上打开。只需点击一下即可获取 Radix 文档。这对您意味着什么 # Radix 并未被弃用。我们仍然支持它,并且每个更新和新组件都将为这两个库提供(除非组件仅存在于 Base UI 中)。您不需要迁移。 Radix 是一个成熟的、经过测试的库。今天我们仍在生产中运行它,并且我们不会迁移。如果您的应用程序正常运行,请继续发货。更喜欢 Radix 进行新项目?距离只有一个标志: pnpm npm yarn Bun pnpm dlx shadcn init -b radix 复制 如果您有脚本或 CI 以非交互方式运行 shadcn init 并且需要 Radix,请添加 -b radix 以使它们保持在同一路径上。建立注册表?如果您想固定特定的库,请发送注册表:基本配置。没有的项目现在初始化为基本 UI。开始新的事情?我们推荐基本 UI。当您准备好迁移时 # 您不需要迁移。但是,如果您愿意,我们为此构建了一项技能: pnpm npm warbun pnpm dlx Skills add shadcn/ui 复制 然后询问您的编码代理: 复制 将手风琴迁移到 base-ui 默认情况下是渐进式的:一次迁移一个组件及其使用,同时您的项目保持绿色和可交付状态。在您工作时,两个库共存。中途停下来,发货,下周再回来,它会从你上次停下的地方继续。或者一次性要求整个项目。为什么是技能而不是代码模组? # 因为你拥有代码。您添加了变体、更改了类别、线程化了新道具。 Codemod 可以处理您从未接触过的组件,并破坏您接触过的组件。因此,我们提供了知识:每次重命名、每次道具更改、每一个行为差异,都针对两个库进行手动检查。您的代理会阅读它,找出您更改的内容,然后将这些更改传递出去。机械的东西到处都得到修复(asChild现在是渲染的)。行为变化会被标记,而不会默默地修补。你决定。迁移会产生什么 # 每次运行都会留下三样东西: 工作代码。在报告成功之前进行类型检查和构建。项目根目录下 .migration/ 中每个组件的报告:更改的内容、保留的内容以及需要手动验证的简短清单。清理 git 历史记录。在分支上每个组件一次提交。回滚就是删除分支。报告如下所示: .migration/accordion.md Copy # Accordion ## 已更改 ## 单独保留 ## 行为更改 ## 手动验证 无隐藏状态。进度存在于您的文件和 git 历史记录中,因此任何代理、任何会话、任何一天都会从上一个代理停止的地方继续。它可以与 Claude Code、Cursor 或任何支持技能的代理配合使用。我们在真实项目中对其进行了测试:60 多个组件,其中 36 个在 Radix 上。完整迁移大约需要 25 分钟,每个组件大约有 10k 个令牌。干净的构建,完整的自定义。
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱