我有一个父组件,我在其中使用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
我在这里做什么错了?