React - 返回几行表和REACTDOM错误

时间:2017-03-18 14:08:50

标签: javascript html css reactjs

我在React中创建/返回多行时遇到问题。返回两行时出现错误:<tr> can't be a child of <tr>

My Current Code

我创建了一个简单的日历,到目前为止,我有一个标题,其中包含周一至周日的一周中的日期。我想要:

  • 身体有4-5行(每周一个)
  • 申请本周(而不是1 2 3 4 5 6 7等来自页面顶部的数组 - 来自API的地图数据 - firstWeek,secondWeek等)

从第一个元素到最后一个元素(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);

1 个答案:

答案 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>