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
*`load`: Une fonction qui renvoie une [Promesse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) ou d'autres*thenable* (un objet de promesse résolue avec la méthode `then`). React n'appelera pas `load`avant la première fois que vous tentez d'afficher le composant renvoyé. Après que React ait appelé `load` pour la première fois, il patientera pour qu'il soit résolu, et ensuite affichera la valeur résolue comme un composant React. La promesse renvoyée et la promesse résolue seront toutes deux mises en cache, et React n'appelera pas `load` plus d'une fois. Si la promesse est rejetée, React `levera` la raison du rejet pour la limite d'erreur la plus proche à gérer.
35
+
*`load` : une fonction qui renvoie une [promesse](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise) ou un*thenable* (un objet doté d'une méthode `then` compatible). React n'appellera pas `load`tant que vous ne tenterez pas d'afficher le composant renvoyé. Après que React a appelé `load` pour la première fois, il patientera pour que la promesse s'établisse, puis affichera la valeur accomplie comme composant React. Tant la promesse renvoyée que sa valeur d'accomplissement seront mises en cache, et React ne rappellera pas `load`. Si la promesse rejette, React lèvera (`throw`) la raison du rejet (généralement une `Error`) pour que le périmètre d'erreur le plus proche la gère.
36
36
37
-
#### Renvois {/*returns*/}
37
+
#### Valeur renvoyée {/*returns*/}
38
38
39
-
`lazy`renvoi un composant React que vous pouvez faire le rendu dans votre arborescence. Pendant que le code du composant lazy est en cours de chargement, la tentative de l'afficher sera *suspendue*. Utilisez [`<Suspense>`](/reference/react/Suspense) pour afficher un indicateur de chargement pendant le chargement.
39
+
`lazy`renvoie un composant React que vous pouvez afficher dans votre arborescence. Pendant que le code du composant chargé à la demande se charge, toute tentative de l'afficher *suspend*. Utilisez [`<Suspense>`](/reference/react/Suspense) pour afficher un indicateur de chargement pendant ce temps-là.
40
40
41
41
---
42
42
43
43
### La fonction `load` {/*load*/}
44
44
45
45
#### Paramètres {/*load-parameters*/}
46
46
47
-
`load` ne reçoit pas de paramètres.
47
+
`load` ne prend aucun paramètre.
48
48
49
-
#### Renvois {/*load-returns*/}
49
+
#### Valeur renvoyée {/*load-returns*/}
50
50
51
-
Vous aurez besoin de renvoyer une [Promesse](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) ou d'autres*thenable* (un objet de promesse résolue avec la méthode `then`). il doit finalement se comporter comme un composant React valide, tel une qu'une fonction, [`memo`](/reference/react/memo), ou un composant [`forwardRef`](/reference/react/forwardRef).
51
+
Vous aurez besoin de renvoyer une [promesse](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise) ou un*thenable* (un objet doté d'une méthode `then` compatible). La valeur accomplie doit finalement se comporter comme un composant React valide, tel une qu'une fonction, un composant[`memo`](/reference/react/memo), ou un composant [`forwardRef`](/reference/react/forwardRef).
52
52
53
53
---
54
54
55
-
## Mode d’utilisation {/*usage*/}
55
+
## Utilisation {/*usage*/}
56
56
57
-
### Composants Lazy-loading avec Suspense {/*suspense-for-code-splitting*/}
57
+
### Charger des composants à la demande avec Suspense {/*suspense-for-code-splitting*/}
58
58
59
-
En général, vous importez vos composants avec la déclaration statique [`import`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) :
59
+
En général, vous importez vos composants avec la déclaration statique [`import`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/import) :
Ce code s'appuie sur [l'importation dynamique `import()`,](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) ce qui peut nécessiter l'aide de votre bundler ou framework.
73
+
Ce code s'appuie sur [l'importation dynamique `import()`,](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/import), ce qui peut nécessiter une prise en charge de votre *bundler* ou framework.
74
74
75
-
Maintenant que le code de votre composant se charge à la demande, vous aurez besoin de spécifier ce qui devra afficher pendant son chargement. Vous pouvez faire cela en enrobant le composant lazy ou l'un de ses parents dans une limitte[`<Suspense>`](/reference/react/Suspense):
75
+
Maintenant que le code de votre composant se charge à la demande, vous aurez besoin de spécifier ce qui devrait être affiché pendant son chargement. Vous pouvez le faire en enrobant le composant chargé à la demande ou l'un de ses parents dans un périmètre[`<Suspense>`](/reference/react/Suspense):
76
76
77
77
```js {1,4}
78
78
<Suspense fallback={<Loading />}>
@@ -81,7 +81,7 @@ Maintenant que le code de votre composant se charge à la demande, vous aurez be
81
81
</Suspense>
82
82
```
83
83
84
-
Dans cet exemple, le code de `MarkdownPreview` ne sera pas chargé jusqu'à ce que vous essayez de l'afficher. Si `MarkdownPreview` n'est pas encore chargé, `Loading` sera affiché à sa place. Essayez de cocher la case :
84
+
Dans cet exemple, le code de `MarkdownPreview` ne sera pas chargé jusqu'à ce que vous essayiez de l'afficher. Si `MarkdownPreview` n'est pas encore chargé, `Loading` sera affiché à sa place. Essayez de cocher la case :
@@ -112,7 +112,7 @@ export default function MarkdownEditor() {
112
112
);
113
113
}
114
114
115
-
// Ajouter un délai fixe pour voir l'état de chargement
115
+
// Ajouter un délai fixe pour voir l’état de chargement
116
116
functiondelayForDemo(promise) {
117
117
returnnewPromise(resolve=> {
118
118
setTimeout(resolve, 2000);
@@ -175,34 +175,34 @@ body {
175
175
176
176
</Sandpack>
177
177
178
-
Cette démo se charge avec un retard artificiel. La prochaine fois que vous décochez et cochez la case, `Preview` sera mis en cache, il n'y aura donc pas d'état de chargement. Pour voir à nouveau l'état de chargement, Cliquez sur "Réinitialiser" dans le bac à sable.
178
+
Cette démo se charge avec un retard artificiel. La prochaine fois que vous décochez et cochez la case, `Preview` sera mis en cache, il n'y aura donc pas d'état de chargement. Pour voir à nouveau l'état de chargement, cliquez sur "Réinitialiser" dans le bac à sable.
179
179
180
180
[En savoir plus sur la gestion des états de chargement avec Suspense](/reference/react/Suspense).
181
181
182
182
---
183
183
184
-
## Résolution des problèmes {/*troubleshooting*/}
184
+
## Dépannage {/*troubleshooting*/}
185
185
186
-
### L'état de mon composant `lazy`se réinitialise de façon inattendue {/*my-lazy-components-state-gets-reset-unexpectedly*/}
186
+
### L'état de mon composant `lazy`est réinitialisé de façon inattendue {/*my-lazy-components-state-gets-reset-unexpectedly*/}
187
187
188
-
Ne déclarez pas les composants `lazy` *à l'interieur* d'autres composants
188
+
Ne déclarez pas les composants `lazy`*à l'intérieur* d'autres composants :
189
189
190
190
```js {4-5}
191
191
import { lazy } from'react';
192
192
193
193
functionEditor() {
194
-
// 🔴 Mauvais: Cela entraînera la réinitialisation de tous les états lors des réaffichages
194
+
// 🔴 Erroné : ça entraînera la réinitialisation de tous les états lors des réaffichages
0 commit comments