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

More than 5 years have passed since last update.

React.Fragmentの使いどころ

Posted at

はじめに

Reactを触ることになって、初めて知ることだらけ。
技術用語がまだスッと入って来ず、先輩から何度か説明してもらい、手を動かし、記事を読んでやっとふわっと理解したので一応記事にしておく。
ほぼほぼ自分用のメモなので、説明が足りないところがあったり間違ってるところがあったらごめんなさい。

React.Fragmentってなに

Reactではrenderメソッドのreturnの中身は一つの要素でないといけないらしい。
要素が並列で並んでしまう場合に <React.Fragment> を使うとHTMLタグとして生成されずに親要素として機能してくれる。

使い所と使い方

return (
  <ul>
    <li>hoge</li>
    <li>hoge</li>
  </ul>
)

これは<ul>の1要素だから <React.Fragment> は不要!
<ul> のなかに <li> がたくさんあるけどまとめなくて平気なの?と思ったが、<li><ul> の子要素だから <ul> 1つの要素として見られる。


return (
  hogeリスト
  <ul>
    <li>hoge</li>
    <li>hoge</li>
  </ul>
)

続いてこちらは "hogeリスト" という文字列要素と、 <ul>要素が並列で存在しているのでエラーとなってしまう。

Reactでは、そんな時に <React.Fragment> を使って1つの要素としてまとめることができる。

2つになっちゃたのを1つのものとするためにサ○ンラップで包んであげるイメージ。
早速やってみる。

return (
  <React.Fragment>
    hogeリスト
    <ul>
      <li>hoge</li>
      <li>hoge</li>
    </ul>
  </React.Fragment>
)

これで、 という1要素に収まった。

ん? 待てよ。それなら <div> で囲んであげても同じように親要素としてまとめてあげることはできるぞ...と思ったが、それだとHTMLに不要な <div>タグが生成されてしまった。
そこで <React.Fragment> を使うことで、親要素としての役目を果たしつつ、HTMLタグは生成されなくなった。 便利!

Reactのお作法を守るためだけに使うことができるから、<React.Fragment> を使うと良い。

4
0
1

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