我在React中创建/返回多行时遇到问题。返回两行时出现错误:<tr> can't be a child of <tr>
。
我创建了一个简单的日历,到目前为止,我有一个标题,其中包含周一至周日的一周中的日期。我想要:
从第一个元素到最后一个元素(7),整个月的日历应如下所示:
firstWeek[0], firstWeek[1], firstWeek[2] etc etc
[secondWeek[0], secondWeek[1] etc etc
thirdWeek[0], secondWeek[1] etc etc
我考虑过使用循环,但我不确定如何处理它 - 我应该使用其他东西吗?在修复设计模式之前,我必须在返回几行时修复这些DOM错误。
是的,我知道这是一个代码,但不知道如何返回它不同:
var firstWeek = days[0].map(day=>day.day_number);
var secondWeek = days[1].map(day=>day.day_number);
var thirdWeek = days[2].map(day=>day.day_number);
var forthWeek = days[3].map(day=>day.day_number);
var fifthWeek = days[4].map(day=>day.day_number);
答案 0 :(得分:0)
React警告您,您正在尝试将表行<tr>
嵌套为另一个表行的子项,这是无效的HTML。
您想要做的是将每个月的每周映射到自己的行,其中每行显示自己的数据。然后,在表中正确呈现行集。像这样:
const tableRows = weeks.map((week) => {
return (
<tr>
{ week.map(dayOfWeek => <td>{ dayOfWeek.someData }</td>) }
</tr>
);
});
return <table><tbody>{ tableRows }</tbody></table>