javascript MUI V5为什么使用带网格组件的Box

4zcjmb1e  于 2023-02-21  发布在  Java
关注(0)|答案(1)|浏览(159)

我第一次使用MUI来学习一些react。我想知道为什么要将Box组件与Grid组件沿着使用。在docs中,它将此作为示例显示

export default function BasicGrid() {
  return (
    <Box sx={{ flexGrow: 1 }}>
      <Grid container spacing={2}>
        <Grid xs={8}>
          <Item>xs=8</Item>
        </Grid>
        <Grid xs={4}>
          <Item>xs=4</Item>
        </Grid>
        <Grid xs={4}>
          <Item>xs=4</Item>
        </Grid>
        <Grid xs={8}>
          <Item>xs=8</Item>
        </Grid>
      </Grid>
    </Box>
  );
}

我删除了Box组件,将所有 prop 应用到最外面的Grid,我认为一切看起来都一样。用Box Package Grid组件有什么好处吗?如果能提供帮助,那就太好了!
取出最外层容器似乎没有任何作用

daolsyd0

daolsyd01#

Box = div
点击这里查看:https://github.com/mui/material-ui/blob/master/packages/mui-material/src/Box/Box.js
它就叫这个:https://github.com/mui/material-ui/blob/master/packages/mui-system/src/createBox.js
它是一个接受camelCase css属性并遵守MUI样式系统规则的div,就是这样-它是一个div
几乎在所有使用Box的地方,将其替换为带有内联CSS属性的div,您将得到相同的结果
在您的代码示例中,只有当它是flex容器的子容器时,它才有意义,否则,它实际上什么也不做(普通的div不做),因为flex-grow只在flex容器中相关。

相关问题