中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行遷移antd@4

發布時間:2021-12-09 09:24:52 來源:億速云 閱讀:174 作者:柒染 欄目:大數據

如何進行遷移antd@4,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

antd@4 rc 發布已經有一段時間了(大概已經兩周了),官網[1] 也已同步放出。最為一個酷愛嘗鮮的人,當然要第一時間安裝升級。第一時間享受到了的 antd@4 各種優勢。

升級點

首先對我而言最大的改進在于性能,select ,table 和 tree 已經全面支持了虛擬滾動,作為了早早的使用了 rc-tree來解決性能問題的人,antd@4 中提供自然是更好不過了,畢竟自己寫樣式和動態是非常復雜的。

重寫的 table 和 from 解決很多遺留的疑難雜癥,具體可以查看豆醬老師的 antd@4 系列文章[2],里面詳細寫了心路歷程,在 form 中我們不需要使用 getFieldDecoratorForm.create 這兩個方法。已 Pro 全區塊為例,這兩個方法分別出現了 87 和 22次,在我自己的一個維護項目中找到了142 個 getFieldDecorator ,更不用說為了封裝組件 getFieldDecorator 被當成 props 傳來傳去的造成的各種復雜性提升了。在 v4 中我們終于可以擺脫它了。

如何進行遷移antd@4  

瞧這都是刪除的 diff

Table 現在也可以自動的獲得寬度,并且擁有更加優秀的固定到側邊,已 Pro-Table[3] 為例,這里是 3.0 的 table。

如何進行遷移antd@4  

在 4.0 中,不會發生高度錯位的問題。

如何進行遷移antd@4  
 

 遷移方法

antd@4 變得更加多才多藝,帶來了巨量的提升,那我們怎么才能使用到這么棒的 4.0 呢 , 其實很簡單,Pro 已經全部遷移了一把[4] 。官方貼心的為我們提供了 codemod-v4,使用起來也是非常簡單。

# 通過 npx 直接運行
npx -p @ant-design/codemod-v4 antd4-codemod src

# 或者全局安裝
# 使用 npm
npm i -g @ant-design/codemod-v4
# 或者使用 yarn
yarn global add @ant-design/codemod-v4

# 運行
antd4-codemod src
 

值得注意的是 如果項目中使用了 <Icon type={type} /> 會轉化成 LegacyIcon,這里需要檢查一下,如果你不是組件庫你一定是不需要 LegacyIcon,遷移之后一定要刪除它,不然會造成圖標文件被全量打入,它可是有 540K 左右的大小。

為了更加的語義化,icon 將從 i 標簽修改為 span 標簽,改完之后需要記得去查看一下有沒有類似 i{}i.anticon 等用法,如果有可以修改為 span{}, span.antion 來保證遷移完成的樣式問題。

另外由于 form 不兼容,codemod 不會自動幫你遷移到新的寫法, 但是遷移到兼容包 @ant-design/compatible 方便在和新版本一起使用,而不用完全遷移。兼容包中 ant-from 類名將會更新為 ant-legacy-form ,如果你修改了 form 的默認樣式記得檢查一下,并且修改它。

如果碰到表單無法撐開的問題可以加入下面的代碼:

:global {
 .ant-legacy-form-item .ant-legacy-form-item-control-wrapper {
    width: 100%;
  }
}
   

 Pro中使用

Pro 在第一時間也遷移了 antd@4 ,我們只需要在 create umi 中選擇 ant-design-pro,即可獲得最新的 4.0 分支代碼。

??? create-umi
? Select the boilerplate type ant-design-pro
? ???? Which language do you want to use? TypeScript
? ???? Want to use better and faster antd? Yes
>
> 使用 antd 4.0 可能會有一些兼容性問題,閱讀下面的文檔了解具體的改動
> There may be some compatibility issues when using antd 4.0. Read the following documents for specific changes
> https://next.ant.design/docs/react/migration-v4-cn
>
 

如果你想獲得遷移到新的版本,可以按照上面的文檔描述實現,但是 Pro 中支持通過設置 icon 配置菜單圖標,在 4.0 中將無法得到支持,所以我們提供了相應的插件[5]來保留此功能。

使用方式如下 :

yarn add umi-plugin-antd-icon-config -D
 

并且在 config.ts 中設置

export default {
 plugins:[['umi-plugin-antd-icon-config', {}]],
}
 

無痛遷移 antd@4 就是這么簡單。所有的官方區塊也已經支持了 antd@4,請大家安心使用。如果想使用 antd 的 新特性,不打包全部的 icon, 可以嘗試升級 ProLayout@5.0。

由于 4.0 的 icon 有一些刪改,如果發現圖標消失,請在 antd 官網中尋找合適的進行替換。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松桃| 双牌县| 松潘县| 兰溪市| 武城县| 蕲春县| 田阳县| 南乐县| 邵东县| 汝州市| 临颍县| 仪陇县| 通许县| 扎鲁特旗| 开平市| 油尖旺区| 绥化市| 石狮市| 永昌县| 德清县| 和林格尔县| 南城县| 无锡市| 大连市| 平乡县| 玉树县| 南川市| 常山县| 扎赉特旗| 呼伦贝尔市| 左贡县| 宁阳县| 临汾市| 榕江县| 新干县| 哈密市| 得荣县| 桃园县| 辽宁省| 丰城市| 炎陵县|