问题
Are there different use cases for each? When should one use withStyles over makeStyles?
回答1:
The Hook API (makeStyles/useStyles) can only be used with function components.
The Higher-order component API (withStyles) can be used with either class components or function components.
They both provide the same functionality and there is no difference in the styles parameter for withStyles and makeStyles.
If you are using it with a function component, then I would recommend using the Hook API (makeStyles). withStyles has a little bit of extra overhead compared to makeStyles (and internally delegates to makeStyles).
回答2:
When should one use withStyles over makeStyles?
Probably never but here are some use (narrow) cases:
- you are running an react version that doesn't support hooks
- you are writing an material-ui library and want to support older mui versions (withStyles is older than makeStyles)
- you are running an older mui version
- you want to style an class based component, for instance if you are interested in the
componentDidCatchlifecycle method.
来源:https://stackoverflow.com/questions/57697664/what-is-the-benefit-of-using-withstyles-over-makestyles