So the problem is you’re creating a virtual DOM structure like this:
<tbody>
<tr>
<div>
<td>...</td>
<td>...</td>
</div>
</tr>
</tbody>
Because <div/>
isn’t a valid child of <tr>
the browser actually creates DOM representing this:
<div> </div>
<table>
<tbody>
<tr>
<td>...</td>
<td>...</td>
</tr>
</tbody>
</table>
When react goes to update, it’s looking at that <tr>
and wondering where the <div>
went. Instead it finds a <td>
so it throws an error.