У меня есть компонент OrderItem, который принимает объект с несколькими объектами (по крайней мере два) внутри него и отображает их как несколько строк внутри таблицы. В таблице будет несколько компонентов OrderItem. Проблема в том, что в функции рендеринга компонента я не могу вернуть несколько строк. Я могу только вернуть один компонент, и если я оберну их в div, он говорит: "<tr>
не может отображаться как дочерний элемент <div>
"
Код выглядит примерно так (я оставил некоторые вещи для удобства чтения)
Parent() {
render() {
return (
<table>
<tbody>
{
_.map(this.state.orderItems, (value, key) => {
return <OrderItem value={value} myKey={key}/>
})
}
</tbody>
</table>
)
}
}
class OrderItem extends React.Component {
render() {
return (
<div> // <-- problematic div
<tr key={this.props.myKey}>
<td> Table {this.props.value[0].table}</td>
<td> Item </td>
<td> Option </td>
</tr>
{this.props.value.map((item, index) => {
if (index > 0) { // skip the first element since it already used above
return (
<tr key={this.props.myKey + index.toString()}>
<td> <img src={item.image} alt={item.name} width="50"/> {item.name}</td>
<td>{item.selectedOption}</td>
</tr>
)
}
})}
</div>
)
}
}
Есть ли способ вернуть эти несколько строк и заставить их быть в одной таблице, не обертывая их в div и получая ошибку? Я понимаю, что могу создать отдельную таблицу для каждого компонента, но это немного меняет форматирование.