Using Material UI, how can I remove spacing on Grid item in small breakpoint?
I think the useMediaQuery hook in combination with theme breakpoints is just what you need.
import { useTheme } from '@material-ui/core/styles';
import useMediaQuery from '@material-ui/core/useMediaQuery';
function MyComponent() {
const theme = useTheme();
const isSmall = useMediaQuery(theme.breakpoints.down('sm'));
return <Grid spacing={isSmall ? 0 : 2}> ... ;
}
See useMediaQuery - css media query hook.
I was able to get it to work using this CSS hackery, but I was hoping for a solution only using props though.
const pageStyles = theme => ({
leftColumn: {
[theme.breakpoints.down('sm')]: {
margin: 0,
'& > .MuiGrid-item': {
padding: 0,
},
},
}
});
<Grid
item
container
spacing={5}
classes={{
root: classes.leftColumn,
}}
>
...
</Grid>