问题
I use React js.I want to use Grid, but I can't in this particular case. I have a component called CardComponent.js The problem is that I use the map function. I don't know how to use Grid.
import React from "react";
const rows = [
  {
    id: 7,
    email: "michael.lawson@reqres.in",
    first_name: "Michael",
    last_name: "Lawson"
  },
  {
    id: 8,
    email: "lindsay.ferguson@reqres.in",
    first_name: "Lindsay",
    last_name: "Ferguson"
  },
  {
    id: 9,
    email: "michael.lawson@reqres.in",
    first_name: "Michael",
    last_name: "Lawson"
  },
  {
    id: 10,
    email: "lindsay.ferguson@reqres.in",
    first_name: "Lindsay",
    last_name: "Ferguson"
  }
];
const ElevatedCardHeader = () =>
  rows.map(row => (
    <Card className={"MuiElevatedCard--01"}>
      <CardHeader
        className={"MuiCardHeader-root"}
        title={row.id}
        subheader={row.email}
        classes={{
          title: "MuiCardHeader-title",
          subheader: "MuiCardHeader-subheader"
        }}
      />
      <CardContent className={"MuiCardContent-root"}>
        <Grid container spacing={2}>
          <Grid item xs={12} sm={6}>
            <Grid container>
              <Grid container justify="space-evenly">
                <label>first_name:</label>
                <label>{row.first_name}</label>
              </Grid>
            </Grid>
            <Divider light />
          </Grid>
          <Grid item xs={12} sm={6}>
            <Grid container>
              <Grid container justify="space-evenly">
                <label>last_name:</label>
                <label>{row.last_name}</label>
              </Grid>
            </Grid>
            <Divider light />
          </Grid>
        </Grid>
      </CardContent>
    </Card>
  ));
export default ElevatedCardHeader;
How can I display 2 cards per row using Grid?Currently, 1 card is displayed in each row. Here you can see my Codesandbox Thank you in advance for your help and guidance
回答1:
You are missing the grid container on parent level:
<Grid container>
  {rows.map(row => (
    ...
  ))}
</Grid>
WORKING DEMO :
回答2:
const ElevatedCardHeader = () => {
  return(
    <Grid container spacing={2}>
    {
      rows.map(row => (
        <Grid item xs={6}>
          <Card className={"MuiElevatedCard--01"}>
            <CardHeader
              className={"MuiCardHeader-root"}
              title={row.id}
              subheader={row.email}
              classes={{
                title: "MuiCardHeader-title",
                subheader: "MuiCardHeader-subheader"
              }}
            />
            <CardContent className={"MuiCardContent-root"}>
              <Grid container spacing={2}>
                <Grid item xs={12} sm={6}>
                  <Grid container>
                    <Grid container justify="space-evenly">
                      <label>first_name:</label>
                      <label>{row.first_name}</label>
                    </Grid>
                  </Grid>
                  <Divider light />
                </Grid>
                <Grid item xs={12} sm={6}>
                  <Grid container>
                    <Grid container justify="space-evenly">
                      <label>last_name:</label>
                      <label>{row.last_name}</label>
                    </Grid>
                  </Grid>
                  <Divider light />
                </Grid>
              </Grid>
            </CardContent>
          </Card>
        </Grid>
      ))
    }
    </Grid>
  )
}
https://p8og0.csb.app/
来源:https://stackoverflow.com/questions/61849456/how-to-use-grid-inside-the-map-in-react-material-ui