У меня есть родительский компонент, где я использую компонент 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>
Но я получаю неопределенное значение для эксаменсетта:
Строка 104: «eksamensset» не определена no-undef Строка 105:
'eksamensset' не определено no-undef Строка 106: 'eksamensset' является
не определено нет-undef
Что я здесь не так делаю?