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

🎉 Ant Design 6.0 來了! 🎉

引言

自開源以來,Ant Design 已收穫 96.6K Star、累計 31.9K issue20.7K PR、發布了 904 個 npm 版本,並有 2314 位貢獻者 共同參與其中。這些數字不僅代表著社區的活躍度與支持,也見證了專案的不斷進化與成熟。

正因為你們,Ant Design 才能不斷成長,向下一站前行:《Plan about Ant Design 6.0》

Ant Design 6.0

經過大量 RFC 討論以及多個 Alpha 版本的迭代,v6 已進入穩定階段。今天,我們宣布 Ant Design v6 正式發布!

本次升級以 技術側深度優化 為重點,旨在為 React 19 以及未來版本提供更好的相容與性能(版本相容提升至 React 18),並進一步完善元件的語義化結構和 CSS 變數支持。

與 v5 不同,這次升級是 平滑版本遷移

  • 如果你的專案已經運行在 v5,無需使用相容包或 codemod 工具,即可直接升級到 v6。
  • v5 主分支將切換至 v5.x-stable 進入 1 年維護週期
    • 除非出現特別嚴重的 Bug,我們不會再對 v5 進行功能性更新。

技術升級與核心變化

⚛ React 最低版本要求提升至 18

v6 支持版本從 React 18 起,移除了此版本之前的 React 相容邏輯,避免了不同版本間的 API 行為差異。
我們仍然建議使用最新的 React 19 版本以獲得最佳體驗。

對於靜態方法比如 Modal.confirm,你已經不需要額外的相容代碼或依賴,可直接移除相關相容代碼:

-- import '@ant-design/v5-patch-for-react-19';

📦 dist 開啟 React Compiler

在打包產物 antd.js 以及 antd.min.js 中啟用了 React Compiler 以優化性能,對使用 CJS/ESM 場景的用戶可自行選擇啟用,參考 React 官方文檔

🌈 純 CSS Variables 樣式架構

隨著 IE 支持的徹底移除,v6 中的 @ant-design/cssinjs 預設採用 純 CSS Variables 模式

  • 樣式切換更輕量,支持即時主題變化。
  • 多主題重用降低打包體積。
  • 支持零運行時樣式生成,可搭配 @ant-design/static-style-extract
<ConfigProvider theme={{ zeroRuntime: true }}>
  <App />
</ConfigProvider>

性能對比如下,zeroRuntime 模式表現最佳(水平軸為主題數量):

Size

Speed

你可以通過 useToken 獲取完整變數名:

const App = () => {
  const { cssVar: { colorBgElevated } } = theme.useToken();
};

🚫 不再支持 IE

CSS Variables 模式徹底移除 IE 相容的 StyleProvider。

🧩 全量元件語義化結構

v6 完成了 所有元件 的 DOM 語義化改造:

Semantic Structure

  • 52115

Semantic Render Props

  • 54995

  • API 使用邏輯位置描述(如 start / end),支持 RTL。

  • 內部結構可用 ConfigProvider 的 classNamesstyles 統一配置。

    • 支持函數式動態生成語義結構:
const btnClassNames: ButtonProps['classNames'] = ({ props }) => {
  switch (props.type) {
    case 'primary':
      return { ... };
    default:
      return { ... };
  }
};

<ConfigProvider button={{ classNames: btnClassNames }}>
  <App />
</ConfigProvider>

俏皮圖標按鈕

<Button
  classNames={{
    root: 'rounded-tr-xl rounded-bl-xl',
    icon: 'rotate-30',
  }}
  icon={<SmileOutlined />}
>
  Ant Design
</Button>

Funny

極客風卡片

<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>

Geek Green

🚫 移除 v4 廢棄 API

v6 移除了在 v4 廢棄、v5 保留相容的所有 API:

  • findDOMNode 相容邏輯移除。
  • ListDropdown.ButtonBackTop 文檔移除但保留相容。
  • React 18 相容代碼刪除(直接支持 18)。
  • 統一 API 命名風格,兼容 v5 所有 API。

新元件與功能增強

🔥 Masonry 瀑布流元件

用於圖片展示、卡片流等場景:

Masonry

🔥 Tooltip 支持平移滑動

在多個提示內容之間開啟平移滑動:

Tooltip

🆕 InputNumber spinner 模式

常見的按鈕平鋪樣式,便於用戶直接點擊互動:

Spinner InputNumber

🆕 Drawer 支持拖拽

Resizable Drawer

🎨 蒙版模糊背景

所有彈層預設使用模糊效果,可透過 mask: { blur: false } 關閉:

Blur Mask

升級指南

  • v6 對 v5 完全相容,可直接升級。
    • 建議按警告替換廢棄 API。
  • 專案需運行在 React 18 或更高版本
  • 不再支持 IE

未來計畫

  • 優化移動端交互體驗。
  • 增強無障礙(Accessibility)支持。
  • 跟進 React 新特性提升性能。
  • 更多新元件開發中,敬請期待。

One More Thing

Ant Design X 2.0

🚀 Ant Design X 同步發布 2.0 版本。作為 Ant Design 面向 AI 場景的元件庫,新版本帶來了更強大的互動與渲染能力。如果你正在探索 AI 驅動的介面體驗,現在就是最佳時機:🎉 Ant Design X 2.0 正式發布了 🎉

LUI

寫在最後

Ant Design 自第一行代碼以來,經歷了 10 個年頭。我們希望在 AI 浪潮之下,Ant Design 仍然是你的最好夥伴。感謝為 v6 付出的各位朋友。 —— 因為你們的參與,開源才如此美好:

984507092
afc163
aojunhao123
Arktomson
cactuser-Lu
ccc1018
codewizardTM
coding-ice
crazyair
divyeshagrawal
elrrrrrrr
EmilyyyLiu
fireairforce
GinWU05
guoyunhe
hcjlxl
JeeekXY
Jerryqun
jin19980928
jon-cullison
kiner-tang
li-jia-nan
Linkodt
lovelts
MadCcc
meet-student
nmsn
OysterD3
Psiphonc
Susuperli
tanjiahao24
thinkasany
ug-hero
wanpan11
Wxh16144
xkhanhan
yellowryan
yoyo837
zjr222
zombieJ
Zyf665


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


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

共有 0 則留言


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