You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wrap elements in `<Fragment>`to group them together in situations where you need a single element. Grouping elements in `Fragment`has no effect on the resulting DOM; it is the same as if the elements were not grouped. The empty JSX tag`<></>`is shorthand for `<Fragment></Fragment>`in most cases.
26
+
単一の要素が必要な場面で、複数の要素を `<Fragment>`でラップすることでグループ化することができます。`Fragment`で要素をグループ化しても、出力される DOM には影響を与えません。要素がグループ化されていないときと同じです。空の JSX タグ`<></>`は、ほとんどの場合 `<Fragment></Fragment>`の省略記法です。
27
27
28
-
#### Props {/*props*/}
28
+
#### props {/*props*/}
29
29
30
-
-**optional**`key`: Fragments declared with the explicit `<Fragment>`syntax may have [keys.](/learn/rendering-lists#keeping-list-items-in-order-with-key)
-If you want to pass `key`to a Fragment, you can't use the `<>...</>`syntax. You have to explicitly import `Fragment` from `'react'`and render `<Fragment key={yourKey}>...</Fragment>`.
- React does not [reset state](/learn/preserving-and-resetting-state) when you go from rendering `<><Child /></>`to`[<Child />]`or back, or when you go from rendering `<><Child /></>`to`<Child />`and back. This only works a single level deep: for example, going from `<><><Child /></></>`to`<Child />`resets the state. See the precise semantics [here.](https://gist.github.com/clemmy/b3ef00f9507909429d8aa0d3ee4f986b)
### Returning multiple elements {/*returning-multiple-elements*/}
42
+
### 複数の要素を返す {/*returning-multiple-elements*/}
43
43
44
-
Use`Fragment`, or the equivalent `<>...</>`syntax, to group multiple elements together. You can use it to put multiple elements in any place where a single element can go. For example, a component can only return one element, but by using a Fragment you can group multiple elements together and then return them as a group:
Fragments are useful because grouping elements with a Fragment has no effect on layout or styles, unlike if you wrapped the elements in another container like a DOM element. If you inspect this example with the browser tools, you'll see that all `<h1>`and`<article>` DOM nodes appear as siblings without wrappers around them:
57
+
フラグメントが有用なのは、DOM 要素のような他のコンテナで要素をラップする場合と異なり、フラグメントで要素をグループ化してもレイアウトやスタイルに影響を与えないからです。以下の例をブラウザツールでインスペクト(inspect, 調査)してみると、全ての `<h1>`や`<article>` DOM ノードがラップされずに兄弟として表示されることがわかります。
58
58
59
59
<Sandpack>
60
60
@@ -94,9 +94,9 @@ function PostBody({ body }) {
94
94
95
95
<DeepDive>
96
96
97
-
#### How to write a Fragment without the special syntax? {/*how-to-write-a-fragment-without-the-special-syntax*/}
Here's a situation where you need to write `Fragment` explicitly instead of using the `<></>`syntax. When you [render multiple elements in a loop](/learn/rendering-lists), you need to assign a `key`to each element. If the elements within the loop are Fragments, you need to use the normal JSX element syntax in order to provide the `key`attribute:
0 commit comments