返回

文章详情

Shadcn/UI 现在默认使用 Base UI 而不是 Radix

Hacker News2026年7月5日 04:46

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,其中包含两个库。1月发布了完整的 Base UI 文档。然后我们观察您如何使用它。 为什么现在 Base UI 是稳定的。它目前版本为 1.6.0,每周下载量超过 600 万。它在不断变得更好。团队定期发布新的有用组件。我们在使用它。我们开始的每个新项目都基于 Base UI。你们在使用它。通过 shadcn/create 创建的项目现在以 2:1 选择 Base UI 而不是 Radix。社区已经做出了选择。我们将此正式化。 什么改变了 新项目默认使用 Base UI。运行 npx shadcn init,Base UI 是默认选项。shadcn/create 首先显示 Base UI。文档默认显示 Base UI。组件页面在 Base UI 标签上打开。Radix 文档只需一键即可访问。 这对您意味着什么 Radix 并不会被弃用。我们仍然支持 Radix,所有更新和新组件都会为两个库发布(除非某个组件仅存在于 Base UI 中)。您不需要迁移。Radix 是成熟、经过测试的库。我们今天仍在生产中使用它,我们不会迁移。如果您的应用程序工作正常,请继续发布。希望新项目使用 Radix?只需添加一个标志:如果您有运行 shadcn init 的脚本或 CI,并期望使用 Radix,请添加 -b radix 以保持它们在同一路径上。构建注册表?如果您想固定特定库,请发布 registry:base 配置。没有指定的项目现在以 Base UI 初始化。开始一些新项目?我们建议使用 Base UI。 当您准备迁移时 您不需要迁移。但如果您想迁移,我们为此构建了一个技能:然后请您的编码代理:迁移手风琴到 base-ui 它默认是渐进的:一次迁移一个组件及其用法,而您的项目仍然可运行且可发布。在您开发时,两个库共存。中途停止,发布,然后下周回来,它会从您停止的地方继续。或者一次性请求整个项目。 为什么是一个技能而不是一个代码修改器?因为您拥有代码。您添加了变体,修改了类,传递了新属性。代码修改器处理您从未接触的组件,并在您接触过的组件上出现问题。因此,我们发布了知识:每次重命名、每次属性更改、每次行为差异,都经过手动检查与两个库的对照。您的代理可以读取它,找出您更改了什么,并将这些更改移过来。机械内容在每个地方修复(asChild 现在是 render)。行为变化会被标记,绝不会静默修补。您决定。 迁移产生的内容 每次运行留下三件事: 工作代码。类型检查并在报告成功之前构建。每个组件在项目根目录的 .migration/ 下有一个报告:什么改变了,什么被保留,以及一份手动验证的简短检查清单。 干净的 git 历史。每个组件一个提交,存放在一个分支上。回滚就是删除该分支。 报告的样子如下: .migration/accordion.md # 手风琴 <!-- 日期、使用的策略和一句话判决 --> ## 更改 <!-- 每个已更改的文件,以及更改的内容和原因 --> ## 保留 --> <!-- 外观看似相关但故意不变更的文件 --> ## 行为变化 <!-- 编译正常但行为不同的差异。标记,不是修补 --> ## 人工验证 <!-- 简短的检查清单:打开、点击、按 Tab。需要一分钟时间 --> 没有隐藏状态。进展保留在您的文件和 git 历史中,因此任何代理、任何会话、任何一天都能从上一个停止的地方继续。它与 Claude Code、Cursor 或任何支持技能的代理兼容。我们在实际项目中测试过:60多个组件,其中36个使用 Radix。完整迁移大约花费25分钟,每个组件大约10,000个令牌。干净的构建,自定义保持完好。 2026年6月 - 聊天界面的组件 今天,我们发布了一组用于构建聊天界面的新组件:MessageScroller、Message、Bubble、Attachment 和 Marker。这是聊天组件工作的第一阶段。我们将逐步进行,每一部分重新设计其背后的抽象,并将其作为 shadcn/ui 组件发布,您可以复制、组合并调整以适应您的产品。我们从对话层开始:滚动、消息行、气泡、附件和标记。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡