Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tooltip] Fix useMemo dependency #19899

Merged
merged 1 commit into from
Mar 1, 2020
Merged

[Tooltip] Fix useMemo dependency #19899

merged 1 commit into from
Mar 1, 2020

Conversation

NMinhNguyen
Copy link
Contributor

deepmerge supports null and undefined source,
no need to default to an empty object.

This is a follow-up to #19851.

That being said, if PopperProps is defined inline in user land, it would bust the cache all the time, so not sure how useful useMemo is. Unless we expect users to also memoise PopperProps 🤷‍♂️

`deepmerge` supports `null` and `undefined` source,
no need to default to an empty object.

This is a follow-up to #19851.
@mui-pr-bot
Copy link

Details of bundle changes.

Comparing: b9dec27...ea4fa57

bundle Size Change Size Gzip Change Gzip
@material-ui/lab ▼ -21 B (-0.01% ) 196 kB ▼ -16 B (-0.03% ) 58.2 kB
@material-ui/core[umd] ▼ -21 B (-0.01% ) 318 kB ▲ +13 B (+0.01% ) 92.3 kB
@material-ui/core ▼ -21 B (-0.01% ) 359 kB ▼ -11 B (-0.01% ) 98.9 kB
docs.main ▼ -21 B (-0.00% ) 601 kB ▼ -10 B (-0.01% ) 195 kB
Tooltip ▼ -21 B (-0.02% ) 102 kB ▼ -8 B (-0.02% ) 32.5 kB
SpeedDialAction ▼ -21 B (-0.02% ) 118 kB ▼ -6 B (-0.02% ) 37.6 kB
@material-ui/styles -- 51.4 kB -- 15.4 kB
@material-ui/system -- 16.5 kB -- 4.32 kB
Alert -- 83.6 kB -- 26.4 kB
AlertTitle -- 64.5 kB -- 20.3 kB
AppBar -- 64.3 kB -- 20.2 kB
Autocomplete -- 132 kB -- 41.5 kB
Avatar -- 65.5 kB -- 20.7 kB
AvatarGroup -- 62.7 kB -- 19.7 kB
Backdrop -- 68.2 kB -- 21.1 kB
Badge -- 65.6 kB -- 20.4 kB
BottomNavigation -- 62.7 kB -- 19.7 kB
BottomNavigationAction -- 75.8 kB -- 24 kB
Box -- 72.2 kB -- 21.9 kB
Breadcrumbs -- 80.6 kB -- 25.4 kB
Button -- 80 kB -- 24.6 kB
ButtonBase -- 74.3 kB -- 23.4 kB
ButtonGroup -- 83.4 kB -- 25.6 kB
Card -- 63.2 kB -- 19.8 kB
CardActionArea -- 75.3 kB -- 23.8 kB
CardActions -- 62.4 kB -- 19.6 kB
CardContent -- 62.3 kB -- 19.5 kB
CardHeader -- 65.4 kB -- 20.6 kB
CardMedia -- 62.7 kB -- 19.7 kB
Checkbox -- 83.1 kB -- 26.3 kB
Chip -- 82.8 kB -- 25.4 kB
CircularProgress -- 64.4 kB -- 20.3 kB
ClickAwayListener -- 3.84 kB -- 1.54 kB
Collapse -- 68.3 kB -- 21.2 kB
colorManipulator -- 3.88 kB -- 1.52 kB
Container -- 63.5 kB -- 19.9 kB
CssBaseline -- 62.3 kB -- 19.6 kB
Dialog -- 83.2 kB -- 25.9 kB
DialogActions -- 62.4 kB -- 19.6 kB
DialogContent -- 62.5 kB -- 19.6 kB
DialogContentText -- 64.4 kB -- 20.2 kB
DialogTitle -- 64.6 kB -- 20.3 kB
Divider -- 63 kB -- 19.8 kB
docs.landing -- 56.6 kB -- 15.6 kB
Drawer -- 84.9 kB -- 25.9 kB
ExpansionPanel -- 72.6 kB -- 22.7 kB
ExpansionPanelActions -- 62.4 kB -- 19.6 kB
ExpansionPanelDetails -- 62.3 kB -- 19.5 kB
ExpansionPanelSummary -- 78.3 kB -- 24.8 kB
Fab -- 77.1 kB -- 24.1 kB
Fade -- 23.6 kB -- 8.01 kB
FilledInput -- 73.9 kB -- 23 kB
FormControl -- 64.7 kB -- 20.2 kB
FormControlLabel -- 65.8 kB -- 20.7 kB
FormGroup -- 62.3 kB -- 19.5 kB
FormHelperText -- 63.7 kB -- 20 kB
FormLabel -- 63.8 kB -- 19.8 kB
Grid -- 65.4 kB -- 20.5 kB
GridList -- 62.8 kB -- 19.7 kB
GridListTile -- 64 kB -- 20.1 kB
GridListTileBar -- 63.5 kB -- 19.9 kB
Grow -- 24.2 kB -- 8.22 kB
Hidden -- 66.3 kB -- 20.8 kB
Icon -- 63.1 kB -- 19.8 kB
IconButton -- 76.4 kB -- 23.9 kB
Input -- 72.9 kB -- 22.8 kB
InputAdornment -- 65.4 kB -- 20.6 kB
InputBase -- 71 kB -- 22.3 kB
InputLabel -- 65.6 kB -- 20.5 kB
LinearProgress -- 65.6 kB -- 20.5 kB
Link -- 66.9 kB -- 21.1 kB
List -- 62.7 kB -- 19.6 kB
ListItem -- 77.3 kB -- 24.3 kB
ListItemAvatar -- 62.4 kB -- 19.6 kB
ListItemIcon -- 62.5 kB -- 19.6 kB
ListItemSecondaryAction -- 62.3 kB -- 19.5 kB
ListItemText -- 65.3 kB -- 20.5 kB
ListSubheader -- 63.1 kB -- 19.8 kB
Menu -- 88.8 kB -- 27.5 kB
MenuItem -- 78.4 kB -- 24.6 kB
MenuList -- 66.3 kB -- 20.8 kB
MobileStepper -- 68.1 kB -- 21.4 kB
Modal -- 14.3 kB -- 5.03 kB
NativeSelect -- 77.1 kB -- 24.4 kB
NoSsr -- 2.17 kB -- 1.03 kB
OutlinedInput -- 74.9 kB -- 23.4 kB
Pagination -- 85.3 kB -- 26.3 kB
PaginationItem -- 81 kB -- 25 kB
Paper -- 62.7 kB -- 19.6 kB
Popover -- 83.2 kB -- 25.8 kB
Popper -- 28.8 kB -- 10.3 kB
Portal -- 2.87 kB -- 1.29 kB
Radio -- 84.1 kB -- 26.6 kB
RadioGroup -- 64.9 kB -- 20.2 kB
Rating -- 70.7 kB -- 22.7 kB
RootRef -- 4.21 kB -- 1.63 kB
ScopedCssBaseline -- 63.1 kB -- 19.9 kB
Select -- 116 kB -- 34.7 kB
Skeleton -- 63.3 kB -- 20 kB
Slide -- 25.6 kB -- 8.74 kB
Slider -- 76.9 kB -- 24.2 kB
Snackbar -- 75.6 kB -- 23.7 kB
SnackbarContent -- 63.8 kB -- 20.1 kB
SpeedDial -- 86.4 kB -- 27.3 kB
SpeedDialIcon -- 64.9 kB -- 20.3 kB
Step -- 63 kB -- 19.8 kB
StepButton -- 82.5 kB -- 26.2 kB
StepConnector -- 63 kB -- 19.8 kB
StepContent -- 69.5 kB -- 21.8 kB
StepIcon -- 64.9 kB -- 20.3 kB
StepLabel -- 68.9 kB -- 21.7 kB
Stepper -- 65.2 kB -- 20.6 kB
styles/createMuiTheme -- 16.6 kB -- 5.85 kB
SvgIcon -- 63.4 kB -- 19.8 kB
SwipeableDrawer -- 92.3 kB -- 28.9 kB
Switch -- 82.3 kB -- 26 kB
Tab -- 76.6 kB -- 24.3 kB
Table -- 62.9 kB -- 19.7 kB
TableBody -- 62.4 kB -- 19.5 kB
TableCell -- 64.3 kB -- 20.3 kB
TableContainer -- 62.3 kB -- 19.5 kB
TableFooter -- 62.4 kB -- 19.5 kB
TableHead -- 62.4 kB -- 19.5 kB
TablePagination -- 143 kB -- 42 kB
TableRow -- 62.8 kB -- 19.7 kB
TableSortLabel -- 77.6 kB -- 24.4 kB
Tabs -- 85.5 kB -- 27.2 kB
TextareaAutosize -- 5.19 kB -- 2.17 kB
TextField -- 125 kB -- 36.7 kB
ToggleButton -- 76.4 kB -- 24.2 kB
ToggleButtonGroup -- 63.5 kB -- 20 kB
Toolbar -- 62.7 kB -- 19.7 kB
TreeItem -- 75.5 kB -- 23.9 kB
TreeView -- 69.2 kB -- 21.7 kB
Typography -- 64 kB -- 20 kB
useAutocomplete -- 14.7 kB -- 5.33 kB
useMediaQuery -- 2.56 kB -- 1.06 kB
Zoom -- 23.6 kB -- 8.13 kB

Generated by 🚫 dangerJS against ea4fa57

@oliviertassinari
Copy link
Member

oliviertassinari commented Feb 29, 2020

@oliviertassinari oliviertassinari added component: tooltip This is the name of the generic UI component, not the React module! PR: ready to ship labels Feb 29, 2020
@NMinhNguyen
Copy link
Contributor Author

NMinhNguyen commented Feb 29, 2020

I doubt we can write a test for this, unfortunately.

Strictly speaking, I could with mocks (or Enzyme and .props() - we’re trying to move away from it though) but I’m not sure it’s worth the effort? Actually I’m not sure how mocking is done in this environment, but it’s relatively easy with Jest 🙂

@oliviertassinari oliviertassinari merged commit e6dae39 into mui:master Mar 1, 2020
@oliviertassinari
Copy link
Member

Thanks for the patch

EsoterikStare pushed a commit to EsoterikStare/material-ui that referenced this pull request Mar 30, 2020
@NMinhNguyen NMinhNguyen deleted the fix-tooltip-useMemo branch August 26, 2021 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: tooltip This is the name of the generic UI component, not the React module!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants