2017-01-18 60 views
2

那麼爲什麼反應抱怨說我不能把'tr'當作'td'的孩子?反應:<tr>不能作爲​​的孩子出現。看看評論> td> tr

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

也許我必須把另一個表或什麼?

<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>內:

+0

u能表現出更多的代碼和控制檯錯誤? –

回答

4

是的,你需要達到這個標記。使用另一個table來佈置它。

根據https://github.com/facebook/react/issues/5652你需要換一個tbody你的表內容:

瀏覽器所需要的<tbody>標籤。如果它不在您的代碼中,那麼瀏覽器會自動插入它。這將在第一個 渲染器上正常工作,但是當表得到更新時,那麼DOM樹是 不同於React所期望的。這可能會給出奇怪的錯誤,因此React警告您插入<tbody>。這真是一個有用的警告。

感謝@Stefan Dragnev

+1

React也需要'tbody',雖然我找不到確切的引用。 –