Material UI - lumen-org/LumenReact GitHub Wiki
Material-UI
Why? Material-UI provides an easy way to extend our existing framework and makes it possible to use components like a drawer and snackbars. Another advantage is that we can change the theme on the fly.
Add styles
Functional components
styles.js
import { makeStyles } from '@material-ui/core/styles';
const useStyles = makeStyles((theme) => ({
root: {
width: "100%",
},
nested: {
paddingLeft: theme.spacing(4),
},
}))
export default useStyles
FunctionalComponent.js
import useStyles from './styles';
const SubSettingsGenerator = (props) => {
const classes = useStyles()
return <div className={classes.root}>
...
}
Class components
styles.js
const useStyles = theme => ({
root: {
display: 'flex',
},
})
export default useStyles
ClassComponent.js
import useStyles from "./styles"
import { withStyles } from '@material-ui/core/styles';
class ClassComponent extends React.Component {
render() {
const { classes } = this.props
return <div className={classes.root}>
...
}
}
export default withStyles(styles, { withTheme: true })(ClassComponent);