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
Pour créer un portail, appelez `createPortal`, en passant du JSX et le nœud DOM où il doit être affiché:
26
+
Pour créer un portail, appelez `createPortal`, en passant du JSX et le nœud DOM où il doit être affiché:
27
27
28
28
```js
29
29
import { createPortal } from'react-dom';
@@ -67,7 +67,7 @@ Un portail ne change que l'emplacement physique du nœud DOM. Pour tous les autr
67
67
68
68
Les *portails* permettent à vos composants d'afficher certains de leurs enfants dans un endroit différent du DOM. Ça permet à une partie de votre composant de « s'échapper » de tous les conteneurs dans lesquels elle peut se trouver. Par exemple, un composant peut afficher une boîte de dialogue modale ou une infobulle qui apparaît au-dessus et en-dehors du reste de la page.
69
69
70
-
Pour créer un portail, affichez le résultat de `createPortal` avec <CodeStep step={1}>du JSX</CodeStep> et le <CodeStep step={2}>nœud DOM où il doit aller</CodeStep>:
70
+
Pour créer un portail, affichez le résultat de `createPortal` avec <CodeStep step={1}>du JSX</CodeStep> et le <CodeStep step={2}>nœud DOM où il doit aller</CodeStep>:
71
71
72
72
```js [[1, 8, "<p>Cet enfant est placé dans le corps du document.</p>"], [2, 9, "document.body"]]
73
73
import { createPortal } from'react-dom';
@@ -85,9 +85,9 @@ function MyComponent() {
85
85
}
86
86
```
87
87
88
-
React placera les nœuds DOM pour <CodeStep step={1}>le JSX que vous avez passé</CodeStep> à l'intérieur du <CodeStep step={2}>nœud DOM que vous avez fourni</CodeStep>.
88
+
React placera les nœuds DOM résultant du <CodeStep step={1}>JSX que vous avez passé</CodeStep> à l'intérieur du <CodeStep step={2}>nœud DOM que vous avez fourni</CodeStep>.
89
89
90
-
Sans portail, le second `<p>` serait placé à l'intérieur de la `<div>` parente, mais le portail l'a "téléporté" dans le [`document.body`](https://developer.mozilla.org/fr/docs/Web/API/Document/body):
90
+
Sans portail, le second `<p>` serait placé à l'intérieur de la `<div>` parente, mais le portail l'a "téléporté" dans le [`document.body`](https://developer.mozilla.org/fr/docs/Web/API/Document/body):
91
91
92
92
<Sandpack>
93
93
@@ -259,7 +259,7 @@ Les portails peuvent vous être utiles si votre racine React n'est qu'une partie
259
259
<h1>Bienvenue dans mon appli hybride</h1>
260
260
<div class="parent">
261
261
<div class="sidebar">
262
-
Ceci est un balisage serveur n'appartenant pas à React.
262
+
Ceci est un balisage serveur n'appartenant pas à React.
263
263
<div id="sidebar-content"></div>
264
264
</div>
265
265
<div id="root"></div>
@@ -304,7 +304,7 @@ function MainContent() {
304
304
}
305
305
306
306
function SidebarContent() {
307
-
return <p>Cette partie est aussi affichée par React!</p>;
307
+
return <p>Cette partie est aussi affichée par React!</p>;
308
308
}
309
309
```
310
310
@@ -341,15 +341,15 @@ p {
341
341
342
342
---
343
343
344
-
### Afficher des composants React dans des nœuds DOM n'appartenant pas à React {/*rendering-react-components-into-non-react-dom-nodes*/}
344
+
### Afficher des composants React dans des nœuds DOM qui ne sont pas gérés par React {/*rendering-react-components-into-non-react-dom-nodes*/}
345
345
346
-
Vous pouvez aussi utiliser un portail pour gérer le contenu d'un nœud DOM géré en-dehors de React. Par exemple, supposons que vous intégriez un widget de carte réalisé sans React et que vous souhaitiez afficher du contenu React dans une *popup*. Pour ce faire, déclarez une variable d'état `popupContainer` pour stocker le nœud DOM dans lequel vous allez effectuer l'affichage:
346
+
Vous pouvez aussi utiliser un portail pour gérer le contenu d'un nœud DOM géré en-dehors de React. Par exemple, supposons que vous intégriez un widget de carte réalisé sans React et que vous souhaitiez afficher du contenu React dans une *popup*. Pour ce faire, déclarez une variable d'état `popupContainer` pour stocker le nœud DOM dans lequel vous allez effectuer l'affichage:
0 commit comments