V3 upgrade to V4 considerations
There are some breaking changes to upgrading to V4 that require some tweaking.
1.Directory changes introduced by style files
Because the Dark theme has been added to V4, the directory structure has been adjusted.
Import directory changes for less
files:
- import 'rsuite/styles/less/index.less';
+ import 'rsuite/lib/styles/index.less'; // or 'rsuite/lib/styles/themes/default/index.less'
Import directory changes for css files:
- import 'rsuite/dist/styles/rsuite.css';
+ import 'rsuite/dist/styles/rsuite-default.css';
2.Dropdown, Whisper, all Picker attribute placement value changes
type Placement4 = 'top' | 'bottom' | 'right' | 'left';
type Placement8 =
- | 'bottomLeft'
+ | 'bottomStart'
- | 'bottomRight'
+ | 'bottomEnd'
- | 'topLeft'
+ | 'topStart'
- | 'topRight'
+ | 'topEnd'
- | 'leftTop'
+ | 'leftStart'
- | 'leftBottom'
+ | 'leftEnd'
- | 'rightTop'
+ | 'rightStart'
- | 'rightBottom';
+ | 'rightEnd';
type PlacementAuto =
| 'auto'
- | 'autoVerticalLeft'
+ | 'autoVerticalStart'
- | 'autoVerticalRight'
+ | 'autoVerticalEnd'
- | 'autoHorizontalTop'
+ | 'autoHorizontalStart'
- | 'autoHorizontalBottom';
+ | 'autoHorizontalEnd';
3.Priority change for addRule method calls in Schema
3.0 version call priority
addRule
isRequired
- Predefined verification method
Modified version of the 4.0 version
isRequired
- Other predefined validation methods and
addRule
are executed in sequence
If you want to revert to the previous priority, addRule
adds a third parameter to adjust the priority, the default is false
, if set to true
then the highest priority. Will be executed first.
4.TreePicker and CheckTreePicker discard the expandAll property
The TreePicker
and the CheckTreePicker
deprecated the expandAll
property and added the expandItemValues
property to expand the specified node.
5.CheckTreePicker onSelect method parameter change
- onSelect (activeNode:DataItemType, layer:number, values:string[]) => void
+ onSelect (activeNode: any, value: any, event: React.SyntheticEvent<any>) => void;
6.Upgrade babel-preset-rsuite
Due to the adjustments on the catalog, if the on-demand loading tool babel-preset-rsuite
is used in the project, you need to upgrade to the 4.0.0
version.
npm i babel-preset-rsuite@4.0.0