如何解决 TSX 中类型“void”不可分配给类型“ReactNode”问题

Aks*_*mar 2 javascript reactjs material-ui

我正在尝试使用forEach循环迭代 Mui 组件MenuItem,但收到Type 'void' is not assignable to type 'ReactNode'错误。这是我的代码片段-

      <TableCell>
        <Typography>expiry</Typography>
        <Select variant="outlined" sx={{ width: '100%', height: 35, borderRadius: 2 }}>
        { groupData.forEach((option) => (
          <MenuItem key={option.expiry} value={option.expiry}>
            {option.expiry}
          </MenuItem>
          ))}
        </Select>
      </TableCell>
Run Code Online (Sandbox Code Playgroud)

提前致谢

Vig*_*aut 5

forEach返回无效。要在 JSX 中显示项目列表,可以使用map数组的方法,该方法会将数组的项目转换为其他形式。例如:

const squares = (
  <ul>
    {[1, 2, 3, 4].map((value) => (
      <li key={value}>{value}</li>
    ))}
  </ul>
);
Run Code Online (Sandbox Code Playgroud)

在此处了解有关 React 中的列表的更多信息

对于您的情况,您可以执行以下操作:

<TableCell>
  <Typography>expiry</Typography>
  <Select variant="outlined" sx={{ width: '100%', height: 35, borderRadius: 2 }}>
  {groupData.map((option) => (
    <MenuItem key={option.expiry} value={option.expiry}>
      {option.expiry}
    </MenuItem>
  ))}
  </Select>
</TableCell>
Run Code Online (Sandbox Code Playgroud)