Функции стиля не поддерживаются автоматически компонентом Grid
.
Самый простой способ использовать функции стиля - использовать компонент Box . Компонент Box
делает доступными все функции стиля (например, display ). Компонент Box
имеет компонент prop (по умолчанию div
) для поддержки использования Box
для добавления функций стиля к другому компоненту.
Компонент Grid
также имеет компонент prop , так что вы можете иметь Grid
, который делегирует его рендеринг Box
или Box
, который делегирует Grid
.
Пример ниже(на основе вашего кода) показывает оба способа использования Box
и Grid
вместе.
import React from "react";
import ReactDOM from "react-dom";
import Grid from "@material-ui/core/Grid";
import Box from "@material-ui/core/Box";
import { makeStyles } from "@material-ui/core/styles";
const useStyles = makeStyles({
gridItem: {
border: "1px solid red"
}
});
function App() {
const classes = useStyles();
return (
<Grid
container
spacing={1}
direction="row"
justify="center"
alignItems="center"
>
<Grid className={classes.gridItem} item xs={12} lg={6}>
<span>XX</span>
</Grid>
<Box
component={Grid}
className={classes.gridItem}
item
xs={3}
display={{ xs: "none", lg: "block" }}
>
<span>YY</span>
</Box>
<Grid
component={Box}
className={classes.gridItem}
item
xs={3}
display={{ xs: "none", lg: "block" }}
>
<span>ZZ</span>
</Grid>
</Grid>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
![Edit Use system style functions with Grid](https://codesandbox.io/static/img/play-codesandbox.svg)