-
-
Notifications
You must be signed in to change notification settings - Fork 32.8k
Closed
Labels
priority: importantThis change can make a difference.This change can make a difference.type: new featureExpand the scope of the product to solve a new problem.Expand the scope of the product to solve a new problem.umbrellaFor grouping multiple issues to provide a holistic viewFor grouping multiple issues to provide a holistic view
Description
We've made a great start in the conversion to Function Components. This is just an issue to keep track of what we class components (public and internal) we have left. I haven't checked if it's feasible to convert these components, if it's necessary or if it's worth it.
Core
- ScrollbarSize [ScrollbarSize] Convert to function component #15233
- FormControl [FormControl] Convert to function component #15208
- Collapse [Collapse] Convert to function component #15248
- Tooltip [Tooltip] Convert to function component #15291
- Textarea [Textarea] Refactor the implementation #15331
- Slide [Slide] Convert to function component #15344
- Ripple [Ripple] Convert to function component #15345
- Popper [Popper] Convert to function component #15405
- SelectInput [SelectInput] Convert to function component #15410
- Snackbar [Snackbar] Convert to function component #15504
- Portal [Portal] Migrate to React hooks #15399
- InputBase [InputBase] Convert to function component #15446
- ButtonBase [ButtonBase] Convert to function component #15716
- Popover [Popover] Convert to function component #15623
- SwipeableDrawer [SwipeableDrawer] Convert to function component #15947
- WithWidth [withWidth] Migrate to hooks #15678
- Modal [Modal] Migrate to hooks #16254
- Tabs [Tabs] Migrate to hooks #16427
- TouchRipple [TouchRipple] Convert to function component #16522
Lab
- Slider [Slider] Major upgrade #15703
- SpeedDial [SpeedDial] Convert to function component #15737
- SpeedDial Action [SpeedDialAction] Convert to hook #16386
Won't migrate
- RootRef (soon deprecated)
Future work
The following items can be fully addressed once this effort is done:
- Replace
withTheme()withuseTheme() - Remove
withFormControlContext[core] Use useFormControl instead of withFormControlState #16503 - Remove
withForwardedRef[core] Batch small changes #16532 - When forking refs prefer
useForkRefover custom implementations - Move default props resolution from
.defaultPropsto function body [core] Remove all .defaultProps usages #16542 - Remove React.Component usage from the demos.
oliviertassinari, eps1lon, Sharakai, joshleblanc, jinmingpang and 9 more
Metadata
Metadata
Assignees
Labels
priority: importantThis change can make a difference.This change can make a difference.type: new featureExpand the scope of the product to solve a new problem.Expand the scope of the product to solve a new problem.umbrellaFor grouping multiple issues to provide a holistic viewFor grouping multiple issues to provide a holistic view