🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

🎉 Ant Design 6.0 來了!這一次它終於想通了什麼?

大家好😁。

還記得我之前那篇吐槽《當 Ant Design 成了你最大的技術債》的文章嗎😂?在那篇文章裡,我痛斥了 Antd 的黑盒樣式、難以覆蓋的 !important 地獄,以及臃腫的 CSS-in-JS 運行時性能。

當時有很多朋友在評論區說:國內做 B 端,離不了它

前天,Ant Design 6.0 正式發布了。帶著審視(甚至是一點點找茬🤔)的心態,我仔細翻閱了 Release Note 和源碼。

看完之後,我沉默了片刻,然後想說一句:
這一次,Ant Design 好像真的聽懂了我們的罵聲。它正在試圖撕掉笨重的標籤,向現代前端開發範式(Tailwind、Headless)發起一次自我更新。

今天,我就以一個老用戶的視角,來聊聊 Antd 6.0 到底改了什麼,以及作為技術組長,我怎麼看這次升級🤷‍♂️。


告別運行時,擁抱 CSS Variables

在 v5 版本,Antd 引入了 CSS-in-JS。雖然它解決了按需加載的問題,但帶來的運行時性能損耗和樣式插入延遲,一直是性能敏感型項目的噩夢😭。

v6 做了一個極其正確的決定:默認採用純 CSS Variables 模式,並且支持零運行時(Zero Runtime)。

這意味著什麼?

性能大翻身:瀏覽器原生支持 CSS 變數,不再需要 JS 去計算和插入樣式。根據官方的對比圖,Zero Runtime 模式下的性能表現是最佳的。這也意味著,我們那臃腫的 JS Bundle 終於可以瘦身了。

image.png

image.png

主題切換秒變:以前切換暗色模式,可能需要 JS 重新計算一堆 Token。現在?只需要改變根節點的幾個 CSS 變數值,瀏覽器瞬間完成渲染。

擁抱 React 19:這次升級開啟了 React Compiler 支持,並且徹底移除了對 React 16/17 的兼容代碼,輕裝上陣。

這才是 2025 年組件庫該有的樣子。CSS 的事情,就該讓 CSS 去做,JS 別管太寬🤔。


全量組件語義化

這是我最興奮的一點😁。

以前我們想改一個 Modal 的樣式,得去瀏覽器裡扒 ant-modal-contentant-modal-header 這種類名,然後寫一堆高權重的 CSS 去覆蓋。

v6 完成了所有組件的 DOM 語義化改造。

它引入了 classNamesstyles 屬性(這就很有 Headless UI 的味道了🤔),允許你精確地把樣式注入到組件的內部結構中。

比如,你想做一個俏皮風格的按鈕,或者一個極客風的卡片,你不再需要寫惡心的 CSS Selector,而是可以直接這樣寫:

<Button
  classNames={{
    root: 'rounded-tr-xl rounded-bl-xl', // 直接寫 Tailwind 類名!
    icon: 'rotate-30',
  }}
  icon={<SmileOutlined />}
>
  Ant Design
</Button>

image.png

極客風卡片樣式和效果

<Card
  title="Hello World"
  classNames={{
    root: "bg-green-300/10 text-green-500 border-green-500 rounded-none [box-shadow:0_0_8px_theme(colors.green.500)]",
    header: "rounded-none border-green-500 [box-shadow:inset_0_0_8px_theme(colors.green.500)]",
    title: "text-green-500 [text-shadow:0_0_12px_theme(colors.green.400)] overflow-visible",
    body: "rounded-none [text-shadow:0_0_8px_theme(colors.green.400)] [box-shadow:inset_0_0_12px_theme(colors.green.500)]"
  }}
>
  Ant Design loves you!~ (=^・ω・^)
</Card>

image.png

Antd 終於意識到,它不能只做寫死的積木,它得提供接口。這對於追求 UI 個性化的團隊來說,絕對是史詩級利好👍👍👍。


IE 走好,不送

Suggestion.gif

Antd 6.0 做了一個非常硬氣的決定:徹底移除對 IE 的支持。

同時,React 的最低版本要求提升到了 React 18!

這可能對一些維護古董項目的團隊是壞消息,但對於整個前端生態來說,這是大快人心的。我們終於不需要為了那 1% 的 IE 用戶,去背負沉重的 polyfill 和 hack 代碼了。


Ant Design X 2.0

除了一些基礎庫的升級,這次還有一個重磅消息:Ant Design X 2.0 同步發布

現在哪個 B 端產品不加點 AI 功能?Chat 界面、流式輸出、提示詞輸入… 這些東西要是自己從頭寫,非常費勁。

Ant Design X 就是專門解決這個問題的。它不僅僅是 UI,更包含了一套面向 AI 場景的交互邏輯。

前端的戰場正在從 CRUD 系統轉向 AI 交互界面。Antd 這一步棋,走得很穩👍。


升級建議:要不要衝?🤔

作為技術組長,我不建議盲目升級,但我建議你認真評估

如果你是 v5 用戶:直接衝! 官方承諾是平滑遷移,無需 codemod,直接升級即可。你能立刻獲得性能提升和 CSS 變數的紅利。

如果你是 v4 用戶:v6 移除了 v4 的廢棄 API。這依然是一次斷崖式的升級,成本較高。建議先升級到 v5 過渡,或者在新項目中直接使用 v6。

image.png

如果你還在維護 IE 項目:留在 v5 吧,v5 進入了 1 年的維護周期,足夠你養老了😖。


Ant Design 已經 10 歲了🫅。

在一個技術棧迭代快如閃電的時代,一個庫能活 10 年,並且還能在第 10 年做出 v6 這樣推倒重來式的革新,是值得讚揚的👍👍👍。

雖然我依然推崇 Tailwind + Headless UI 的靈活性,但 Ant Design 6.0 讓我看到了重型組件庫的另一種可能性——它在努力變輕,努力變開放,努力適應 AI 時代。

也許,它不再是我最大的技術債,而重新變成了那個可以信賴的老夥計😁。

你們怎麼看這次 Antd 6.0 的升級?


原文出處:https://juejin.cn/post/7575810396202287138


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝15   💬10   ❤️5
406
🥈
我愛JS
📝2   💬8   ❤️4
94
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付