Когда я создаю собственный стиль для одного компонента, у меня будет константа типа:
const useStyles = makeStyles((theme: Theme) =>
createStyles({
screen: {
margin: 0,
padding: 0
},
surface: {
backgroundColor: theme.palette.primary.main,
height: // use windowSize here
}
})
);
, а затем это делается в функциональном компоненте:
const windowSize = useWindowSize(); // { width:number, height:number }
const classes = useStyles();
return (
<Container fixed className={classes.screen}>
<Grid container className={classes.surface}>
<br />
</Grid>
</Container>
Когда я хочучтобы сослаться на размер окна (например, высоту окна), я могу написать
<Grid container className={classes.surface} height="75%">
, но было бы невозможно включить эту информацию в makeStyles
и вычислить число, например, эквивалентное calc(100vw - 100px)
?
Если я напишу это calc
непосредственно в makeStyles
, это не сработает.
Я нашел библиотеку react-use
, где хук useWindowSize
может решить эту проблему, но не уверен, смогу ли я это сделать.Разве у меня нет способа, кроме как использовать атрибут height
?