反应-将数据传递给this.props.children不起作用

时间:2019-06-04 12:41:37

标签: reactjs react-props

我有一个父组件,我在其中使用EnhancedTable组件作为子组件之一。 EnhancedTable让孩子当道具。您可以在下面的示例中看到它:

<EnhancedTable headerRows={headerRows} data={eksamenssettene}>        
  {({eksamensett, handleClick, isSelected}) => (
      <TableRow
        hover
        onClick={() => handleClick(eksamensett.id)}
        role="checkbox"
        aria-checked={isSelected}
        tabIndex={-1}
        key={eksamensett.id}
        selected={isSelected}
      >
        <TableCell padding="checkbox">
          <Checkbox checked={isSelected} />
        </TableCell>
        <TableCell component="th" scope="row" padding="none">
          {eksamensett.klasse.klassekode}
        </TableCell>
        <TableCell align="left">{eksamensett.navn}</TableCell>
        <TableCell align="left">{eksamensset.fastRekkefolge ? 'Fast eksamensset' : 'Randomisert'}</TableCell>
        <TableCell align="left">{formatStringToLocalDate(eksamensset.opprettetDatoTid)}</TableCell>
        <TableCell align="left">{getElapsedTime(eksamensset.endretDatoTid)}</TableCell>
      </TableRow>
    )}
  </EnhancedTable>

在EnhancedTable中,我正在使用此子项来传递它所期望的那些道具。就我而言,eksamensett, handleClick, isSelected。我是这样做的,下面是我正在做的组件的一部分:

    <TableBody>
      {stableSort(data, getSorting(order, orderBy))
        .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
        .map(n => {
          const isSelected = this.isSelected(n.id);
          return React.cloneElement(children, { eksamensett: n, isSelected,  handleClick: (id) => this.handleClick(id)});

        })}
      {emptyRows > 0 && (
        <TableRow style={{ height: 49 * emptyRows }}>
          <TableCell colSpan={6} />
        </TableRow>
      )}
    </TableBody>

但是,我对eksamensett的定义不确定:

  

第104行:未定义“ eksamensset” no-undef第105行:   未定义'eksamensset'no-undef第106行:'eksamensset'为   未定义no-undef

我在这里做什么错了?

0 个答案:

没有答案