Вам вообще не нужно делать это встроенным. Я вижу вашу мотивацию, чтобы попытаться сделать это встроенным, так как вам нужен доступ к item
из цикла, но вы можете отправить этот элемент функции, не будучи встроенным:
const onSelectchange = (e, k) => {
item.forEach(k1 => {
if(k1.key===e.target.value)
{
this.setState({
err:'duplicate'
})
console.log(err)
}
else
{
k.key=e.target.value
this.setState({
err:''
})
}
})
}
return(</TableRow>
{
item.map(k => (
<TableCell >
<select onChange={(e) => onSelectchange(e, k)}>
</select>
</TableCell>
</TableRow>)
Вы можете создать встроенныйанонимная функция и передайте свои e
и item
функции, а затем выполните ее, как если бы она была встроенной.
Если вы беспокоитесь о «производительности» наличия встроенной анонимной функции, не делайте этого. Это своего рода миф.
Убедитесь, что у вас нет синтаксических ошибок, так как сейчас код некорректен для простого копирования вставки.