那么为什么反应抱怨我不能把'tr'作为'td'的孩子呢?
<tr>
<td colSpan={2}>
<tr>
<td>
<Some picture>
</td>
<td>
<some content>
</td>
</tr>
<tr>
<td colSpan={2}>
<p>Paragraph stuff</p>
</td>
</tr>
</td>
</tr>
也许我必须放另一张桌子或什么?
答案 0 :(得分:10)
是的,你需要这个标记:
<table>
<tbody>
<tr>
<td colspan={2}>
<table>
<tbody>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td colspan={2}>
<p>Paragraph stuff</p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
在<tr>
中嵌套<td>
无效的标记。使用其他table
进行布局。
根据https://github.com/facebook/react/issues/5652,您需要将表格内容包装在tbody
中:
浏览器需要
<tbody>
标记。如果它不在您的代码中,那么 浏览器会自动插入它。这将首先工作正常 渲染,但是当表更新时,DOM树就是 与React期望的不同。这可能会给出奇怪的错误, 因此React警告您插入<tbody>
。这是真的 有用的警告。
谢谢@Stefan Dragnev