Ant Design 6.0 正式發佈

新聞
HongKong
14
10:29 AM · Nov 24 ,2025

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 的場景可自選啓用。

🌈 純 CSS Variables 樣式架構

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

  • 樣式切換更輕量,支持實時主題變化。

  • 多主題複用降低打包體積。

  • 支持零運行時樣式生成,可搭配 @ant-design/static-style-extract

<ConfigProvider theme={{ zeroRuntime: true }}>
  <App />
</ConfigProvider>

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

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

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

🚫 不再支持 IE

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

🧩 全量組件語義化結構

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

  • Ant Design v6 tasks[#52115](javascript:;) (https://github.com/ant-design/ant-design/issues/52115)

  • Support better customization with semantic classNames/styles[#54995](javascript:;) (https://github.com/ant-design/ant-design/issues/54995)

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

  • 內部結構可用 ConfigProvider 的 classNames 和 styles統一配置。

    • 支持函數式動態生成語義結構:
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>

極客風卡片

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

🚫 移除 v4 廢棄 API

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

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

詳情查看:https://mp.weixin.qq.com/s/PDnuGY02-kJ4We27HvN4KQ
下載地址:https://github.com/ant-design/ant-design/releases/tag/6.0.0

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.