1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTMLで作ったサイトをReactにしたらJestでWarningでた

Posted at

仕事と、特に子育てが少しだけ落ち着いてきたので、アウトプット再開して継続させたい...!!

ということで、慌てて作ったHTMLのサイトを慌ててReactで作り直していたら、思わぬところで警告がでたのでメモ。

tableがJestで警告でた

<table className="tbl">
  <tr className="tbl-tr">
    <td className="tbl-tr__tdTitle">サイト名:</td>
    <td>{siteName}</td>
  </tr>
</table>

この状態でjestを実行させるとWarningがでた。

Warning: validateDOMNesting(...): 
<tr> cannot appear as a child of <table>. 
Add a <tbody>, <thead> or <tfoot> to your code 
to match the DOM tree generated by the browser.

解消方法はメッセージの通りで、
tableの中にtbodyを追加したらWarningが消えた。

<table className="tbl">
  <tbody>
    <tr className="tbl-tr">
      <td className="tbl-tr__tdTitle">サイト名:</td>
      <td>{siteName}</td>
    </tr>
  </tody>
</table>

原因を調べてみた

どうやら、Reactをレンダリングするときに、tbodyがないとブラウザ側で勝手に追加するらしく、その結果、コードと差分が発生して警告がでるらしい。
(その原因まで調べると難しそうなので、深くは追求しない)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?