Skip to content

Commit 62b53e6

Browse files
authored
Merge pull request #455 from bastiendmt/fragment
Translation of the "Fragment" page
2 parents 207442f + 6aba69b commit 62b53e6

File tree

1 file changed

+28
-28
lines changed

1 file changed

+28
-28
lines changed

src/content/reference/react/Fragment.md

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: <Fragment> (<>...</>)
44

55
<Intro>
66

7-
`<Fragment>`, often used via `<>...</>` syntax, lets you group elements without a wrapper node.
7+
`<Fragment>`, qu’on utilise souvent *via* la syntaxe `<>...</>`, vous permet de grouper des éléments sans balise enrobante.
88

99
```js
1010
<>
@@ -19,29 +19,29 @@ title: <Fragment> (<>...</>)
1919

2020
---
2121

22-
## Reference {/*reference*/}
22+
## Référence {/*reference*/}
2323

2424
### `<Fragment>` {/*fragment*/}
2525

26-
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+
Englober des éléments dans un `<Fragment>` pour les grouper dans des situations ou vous avez besoin d’un seul élément. Grouper des éléments dans un `<Fragment>` n’a pas d’effet sur le DOM rendu ; c’est comme si les éléments n’étaient pas groupés. La balise vide `<></>` en JSX est utilisée la plupart du temps afin de raccourcir l’écriture de `<Fragment></Fragment>`.
2727

2828
#### Props {/*props*/}
2929

30-
- **optional** `key`: Fragments declared with the explicit `<Fragment>` syntax may have [keys.](/learn/rendering-lists#keeping-list-items-in-order-with-key)
30+
- `key` **optionnel** : les fragments déclarés explicitement avec la syntaxe `<Fragment>` peuvent avoir une [keys](/learn/rendering-lists#keeping-list-items-in-order-with-key).
3131

32-
#### Caveats {/*caveats*/}
32+
#### Limitations {/*caveats*/}
3333

34-
- 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>`.
34+
- Si vous souhaitez utiliser une `key` dans un Fragment, vous ne pouvez pas utiliser la syntaxe `<>...</>`. Vous devez explicitement importer `Fragment` depuis `'react'` et écrire `<Fragment key={yourKey}>...</Fragment>`.
3535

36-
- 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)
36+
- React ne [réinitialise pas l’état](/learn/preserving-and-resetting-state) quand vous passez de rendre `<><Child /></>` à `[<Child />]` et inversement, ou ni si vous passez de rendre `<><Child /></>` à `<Child />` et inversement. Ça marche seulement à un niveau plus profond : par exemple, passer de `<><><Child /></></>` à `<Child />` réinitialise l’état. Consultez la sémantique précise [ici.](https://gist.github.com/clemmy/b3ef00f9507909429d8aa0d3ee4f986b)
3737

3838
---
3939

40-
## Usage {/*usage*/}
40+
## Utilisation {/*usage*/}
4141

42-
### Returning multiple elements {/*returning-multiple-elements*/}
42+
### Renvoyer plusieurs éléments {/*returning-multiple-elements*/}
4343

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:
44+
Utilisez `Fragment`, ou la syntaxe équivalente `<>...</>`, afin de grouper plusieurs éléments ensemble. Vous pouvez l’utiliser pour mettre plusieurs éléments à la place d’un élément. Par exemple, un composant ne peut renvoyer qu’un élément unique, mais avec un Fragment vous pouvez grouper plusieurs éléments et renvoyer ce groupe :
4545

4646
```js {3,6}
4747
function Post() {
@@ -54,16 +54,16 @@ function Post() {
5454
}
5555
```
5656

57-
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 `<p>` DOM nodes appear as siblings without wrappers around them:
57+
Les Fragments sont utiles car grouper des éléments avec un Fragment n’as pas d’effet sur la mise en page ou les styles, contrairement à l’utilisation d’un autre balise englobante du DOM. Si vous inspectez cet exemple avec les outils du navigateur, vous verrez que toutes les balises `<h1>` et `<p>` du DOM apparaissent en tant frères et sœur sans balise englobante :
5858

5959
<Sandpack>
6060

6161
```js
6262
export default function Blog() {
6363
return (
6464
<>
65-
<Post title="An update" body="It's been a while since I posted..." />
66-
<Post title="My new blog" body="I am starting a new blog!" />
65+
<Post title="Une mise à jour" body="Ça fait un moment que je n’ai pas posté..." />
66+
<Post title="Mon nouveau blog" body="Je démarre un nouveau blog !" />
6767
</>
6868
)
6969
}
@@ -94,9 +94,9 @@ function PostBody({ body }) {
9494

9595
<DeepDive>
9696

97-
#### How to write a Fragment without the special syntax? {/*how-to-write-a-fragment-without-the-special-syntax*/}
97+
#### Comment utiliser un Fragment sans la syntaxe spéciale ? {/*how-to-write-a-fragment-without-the-special-syntax*/}
9898

99-
The example above is equivalent to importing `Fragment` from React:
99+
L’exemple ci-dessus est equivalent à importer `Fragment` depuis React :
100100

101101
```js {1,5,8}
102102
import { Fragment } from 'react';
@@ -111,15 +111,15 @@ function Post() {
111111
}
112112
```
113113

114-
Usually you won't need this unless you need to [pass a `key` to your `Fragment`.](#rendering-a-list-of-fragments)
114+
Normalement vous n’aurez pas besoin d’utiliser ça à moins d’avoir besoin de [donner des `key` à votre `Fragment`.](#rendering-a-list-of-fragments)
115115

116116
</DeepDive>
117117

118118
---
119119

120-
### Assigning multiple elements to a variable {/*assigning-multiple-elements-to-a-variable*/}
120+
### Affecter plusieurs éléments à une variable {/*assigning-multiple-elements-to-a-variable*/}
121121

122-
Like any other element, you can assign Fragment elements to variables, pass them as props, and so on:
122+
Comme pour tous les autres éléments, vous pouvez affecter des Fragment à des variables, les passer en tant que props, etc. :
123123

124124
```js
125125
function CloseDialog() {
@@ -131,25 +131,25 @@ function CloseDialog() {
131131
);
132132
return (
133133
<AlertDialog buttons={buttons}>
134-
Are you sure you want to leave this page?
134+
Êtes vous sûr·e de vouloir quitter cette page ?
135135
</AlertDialog>
136136
);
137137
}
138138
```
139139
140140
---
141141
142-
### Grouping elements with text {/*grouping-elements-with-text*/}
142+
### Grouper des éléments et du texte {/*grouping-elements-with-text*/}
143143
144-
You can use `Fragment` to group text together with components:
144+
Vous pouvez utiliser `Fragment` pour grouper du texte et des éléments :
145145
146146
```js
147147
function DateRangePicker({ start, end }) {
148148
return (
149149
<>
150-
From
150+
De
151151
<DatePicker date={start} />
152-
to
152+
à
153153
<DatePicker date={end} />
154154
</>
155155
);
@@ -158,9 +158,9 @@ function DateRangePicker({ start, end }) {
158158
159159
---
160160
161-
### Rendering a list of Fragments {/*rendering-a-list-of-fragments*/}
161+
### Afficher une liste de Fragments {/*rendering-a-list-of-fragments*/}
162162
163-
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:
163+
Voici une situation ou vous avez besoin d’écrire explicitement `Fragment` plutôt que d’utiliser la syntaxe `<></>`. Quand vous [rendez plusieurs éléments dans une boucle](/learn/rendering-lists), vous avez besoin d’assigner une `key` à chaque élément. Si les éléments compris dans une boucle sont des Fragments, vous devez utiliser la syntaxe classique JSX afin de fournir l’attribut `key` :
164164
165165
```js {3,6}
166166
function Blog() {
@@ -173,16 +173,16 @@ function Blog() {
173173
}
174174
```
175175
176-
You can inspect the DOM to verify that there are no wrapper elements around the Fragment children:
176+
Vous pouvez inspecter le DOM pour vérifier qu’il n’y a pas de balise englobante autour des enfants du Fragment :
177177
178178
<Sandpack>
179179
180180
```js
181181
import { Fragment } from 'react';
182182

183183
const posts = [
184-
{ id: 1, title: 'An update', body: "It's been a while since I posted..." },
185-
{ id: 2, title: 'My new blog', body: 'I am starting a new blog!' }
184+
{ id: 1, title: 'Une mise à jour', body: 'Ça fait un moment que je n’ai pas posté...' },
185+
{ id: 2, title: 'Mon nouveau blog', body: 'Je démarre un nouveau blog !' }
186186
];
187187

188188
export default function Blog() {

0 commit comments

Comments
 (0)