--- order: 8 title: V4 to V5 --- This document will help you upgrade from antd `4.x` version to antd `5.x` version. If you are using `3.x` or older version, please refer to the previous [upgrade document](/docs/react/migration-v4) to 4.x. ## Upgrade preparation 1. Please upgrade to the latest version of 4.x first, and remove / modify related APIs according to the console warning message. ## Incompatible changes in v5 ### Design specification - Basic rounded corner adjustment, changed from `2px` to four layers of radius, which are `2px` `4px` `6px` and `8px`. For example, radius of default Button is modified from `2px` to `6px`. - Primary color adjustment, changed from
`#1890ff` to `#1677ff`. - Global shadow optimization, adjusted from three layers of shadows to two layers, which are used in common components (Card .e.g) and popup components (Dropdown .e.g). - Overall reduction in wireframe usage. ### Technology adjustment - Remove less, adopt CSS-in-JS, for better support of dynamic themes. The bottom layer uses [@ant-design/cssinjs](https://github.com/ant-design/cssinjs) as a solution. - All less files are removed, and less variables are no longer exported. - Css files are no longer included in package. Since CSS-in-JS supports importing on demand, the original `antd/dist/antd.css` has also been abandoned. If you need to reset some basic styles, please import `antd/dist/reset.css`. - Remove css variables and dynamic theme built on top of them. - Remove `lib`, only provide `dist` and `es` in package. - `babel-plugin-import` is no longer supported. CSS-in-JS itself has the ability to import on demand, and plugin support is no longer required. Umi users can remove related configurations. ```diff // config/config.ts export default { antd: { - import: true, }, }; ``` ### Compatibility - DO NOT support IE browser anymore. #### Component API adjustment - The classname API of the component popup box is unified to `popupClassName`, and `dropdownClassName` and other similar APIs will be replaced. - AutoComplete - Cascader - Select - TreeSelect - TimePicker - DatePicker - Mentions ```diff import { Select } from 'antd'; const App: React.FC = () => ( ); export default App; ``` - The controlled visible API of the component popup is unified to `open`, and `visible` and other similar APIs will be replaced. - Drawer `visible` changed to `open`. - Modal `visible` changed to `open`. - Dropdown `visible` changed to `open`. - Tooltip `visible` changed to `open`. - Tag `visible` is removed. - Slider `tooltip` related API converged to `tooltip` property. - Table `filterDropdownVisible` changed to `filterDropdownOpen`. ```diff import { Modal, Tag, Table, Slider } from 'antd'; const App: React.FC = () => { const [visible, setVisible] = useState(true); return ( <> -