最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

不破不立 —— 揮別 less-loader,Ant Design 5.0 Alpha 發(fā)布

2022-10-13 17:52 作者:支付寶體驗科技  | 我要投稿

?????♀??編者按:本文作者是 Ant Design Team,介紹了 Ant Design 5.0 Alpha 的新特性和重要更新,歡迎查閱~

關注我們的同學可以知道在今年(2022)年初的時候我們發(fā)布了一篇《Plan about Ant Design V5》[1],來介紹我們將要啟動的 5.0 計劃。社區(qū)在經歷 8 個月的研發(fā)、發(fā)布 30 個 experimental 版本驗證后,新的技術架構已經穩(wěn)定,終于發(fā)布了 v5 alpha 版本!歡迎大家嘗試,并提供寶貴的意見。

在正式版發(fā)布之前,我們還有更多事情要做。但是如果你已經迫不及待嘗鮮,可以訪問我們的 5.0 官網?[2](遷移參考此處?[3]?)。

新特性

新的設計

5.0 帶來了全新的設計理念,圍繞用戶目標,根據(jù)「更聚焦」、「去干擾」、「輕松感」三大原則,對 Ant Design 設計系統(tǒng)在視覺上進行重塑,助力用戶在虛擬辦公空間更加「快樂工作」。

新設計


針對這些原則,我們在以下方面作出了優(yōu)化,包括但不限于:

  • 增加梯度圓角并增加了基礎圓角的大小,整體風格更輕松;

  • 減少線條使用,以獲得更高的空間使用率和更簡潔的使用體驗;

  • 提高了交互動畫速度,交互體驗更加流暢;

  • 補充了統(tǒng)一的聚焦樣式,僅在使用鍵盤聚焦時出現(xiàn),無障礙能力(Accessibility)進一步提升。

新的動態(tài)主題方案

在 4.x 版本中,受制于 less 的樣式與主題方案,我們一直擺脫不了兩個問題的困擾:如何動態(tài)更換主題以及如何混合使用主題。經過一段時間的探索,在 5.0 版本中,我們放棄了跟隨 antd 已久的 less 方案,轉而擁抱 CSS-in-JS。CSS-in-JS 通過運行時的樣式計算能力完美地解決了上述兩個問題,并且為我們帶來了更多的提升:

  • 更小的 BundleSize;

  • 不依賴任何插件的樣式按需引入能力。

有了 CSS-in-JS 的技術加持,我們推出了全新的定制主題方案。在 5.0 版本中,Design Token 將是主題的基本組成部分,所有組件都會消費他們構筑樣式。同時,我們依賴 Design Token 建立了樣式的緩存,即認為在同樣的 antd 版本下同樣的 Design Token 所對應的組件樣式是等同的,因此避免了重復生成樣式進行對比的操作,避免了性能損耗。

基于 Design Token 和 CSS-in-JS ,我們制定了更加靈活的定制主題方案。通過 5.0 的定制主題,你可以做到的包括但不限于:

  1. 全局主題定制;

  2. 局部主題(嵌套主題/多主題并行);

  3. 組件主題定制;

  4. 在 Sketch 中直接使用配置過主題的設計稿。

想要了解更多請查看定制主題?[4]?文檔。

新增組件

5.0 版本中計劃將會有一些新的組件供用戶選擇!他們分別是:

  • Tour 漫游式引導

  • QrCode 二維碼

  • WaterMark 水印

  • FloatButton 懸浮按鈕

目前已有 FloatButton 懸浮按鈕?[5]?準備就緒,歡迎試用。

其他重要更新

更多變化請查看遷移文檔?[6]

瀏覽器兼容性調整

在今年 6 月,IE 瀏覽器正式停止了服務,也因此 Ant Design 5.0 版本將不再支持 IE 瀏覽器。放棄兼容一些低版本的瀏覽器之后我們可以使用更多 w3c 通過的新特性來豐富我們的組件庫。

彈窗組件 API 統(tǒng)一

在 4.x 及更早的版本中,具有彈窗的組件受控顯示的 API 一直分裂為兩派,以 Select 為首的?open,以及以 Tooltip 為首的?visible。為了減少今后編碼及使用中的不一致性,并降低記憶成本,我們在 5.0 版本中決定在相關組件中將?visible這個屬性廢棄。我們經過多方面的考慮選擇了open?這個屬性,比如原生 HTML 中 dialog 標簽就具有?open?這個屬性而不是?visible。您仍可以在 5.0 使用?visible,但是我們將在控制臺中發(fā)出廢棄警告,并在下一個 major (6.0) 版本中移除這個屬性。

同樣地,彈窗的?className?也一直分裂為?popupClassName?和?dropdownClassName?兩個屬性,我們也將在 5.0 中統(tǒng)一為?popupClassName。

廢棄結構語法糖

在 4.x 版本及更早的版本,我們提供了諸如?Menu.Item?等的 JSX 語法糖來編寫代碼,但這帶來了額外的維護成本和糟糕的性能。因此,在 5.0 版本后,我們更加推薦數(shù)據(jù)驅動的組件使用方法,即通過?items?屬性傳入對象來替代結構語法糖,這將會有更好的性能和更方便的數(shù)據(jù)組織方式,并提前為將來的優(yōu)化做好準備。

廢棄靜態(tài)方法

在 Message 等組件中,我們提供了諸如?message.error?等靜態(tài)方法來使用該組件。但在 React 18 版本之后,不處于 React 生命周期內的靜態(tài)方法會出現(xiàn)各種各樣不適配的問題。在 5.0 版本中,我們更加推薦使用這些組件的 hooks 版本,這更符合 React 的生命周期。同時也推薦在應用層面封裝自己的 hooks 來獲得更好地使用體驗。

接下來的計劃

在發(fā)布正式版之前,我們仍有大量的工作正在進行中,其中包括:

  • 提供從 V4 遷移至 V5 的 codemod 工具;

  • 提供更加完備的主題編輯器;

  • 翻新我們的官網,提供更多實用功能,比如組件支持復制粘貼到 Sketch;

  • 更多的新組件。

請繼續(xù)期待 Ant Design 5.0 帶來的全新體驗!

寫在最后

Ant Design 5.0 歷經 8 個月的開發(fā)時間,期間不少社區(qū)同學參與并貢獻了代碼,在此我們表示衷心的感謝,也感謝大家對于 Ant Design 的熱情與認可。最后再次歡迎大家嘗鮮我們的 5.0 alpha 版本,如果您遇到問題,也歡迎在我們的 issue 板塊中提出。同時也歡迎更多的社區(qū)同學共建 Ant Design,Ant Design loves you ?? !


?? 相關鏈接

[1] https://github.com/ant-design/ant-design/issues/33862

[2] https://next.ant.design/index-cn

[3] https://next.ant.design/docs/react/migration-v5-cn

[4] https://next.ant.design/docs/react/customize-theme-v5-cn

[5] https://next.ant.design/components/float-button-cn/

[6] https://next.ant.design/docs/react/migration-v5-cn

不破不立 —— 揮別 less-loader,Ant Design 5.0 Alpha 發(fā)布的評論 (共 條)

分享到微博請遵守國家法律
哈巴河县| 开封县| 牙克石市| 满洲里市| 泾阳县| 巧家县| 华池县| 满城县| 同江市| 南充市| 武宁县| 黄冈市| 封丘县| 磐石市| 卓尼县| 察雅县| 正阳县| 奈曼旗| 鹤庆县| 嘉兴市| 和龙市| 吉林省| 宕昌县| 竹北市| 阿城市| 桦川县| 和林格尔县| 承德县| 涟源市| 石河子市| 遵义县| 鄂伦春自治旗| 鄱阳县| 万全县| 财经| 宿州市| 河东区| 东阳市| 刚察县| 元阳县| 大港区|