Skip to content

Commit 6716678

Browse files
i18n(fr): update framework-components.mdx & server-islands.mdx
See withastro#10944
1 parent fe81784 commit 6716678

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/content/docs/fr/guides/framework-components.mdx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,16 @@ import Counter from '../components/Counter.svelte';
121121
</div>
122122
```
123123

124-
:::caution[Passer des fonctions en tant que props]
125-
Vous pouvez passer une fonction comme propriété à un composant de framework, mais cela ne fonctionne que pendant le rendu du serveur. Si vous essayez d'utiliser la fonction dans un composant hydraté (par exemple, en tant que gestionnaire d'événements), une erreur se produira.
126124

127-
En effet, les fonctions ne peuvent pas être _sérialisées_ (transférées du serveur au client) par Astro.
128-
:::
129125

130126

127+
Les propriétés transmises aux composants interactifs du framework [via une directive `client:*`](/fr/reference/directives-reference/#directives-client) doivent être [sérialisées](https://developer.mozilla.org/fr/docs/Glossary/Serialization) : traduites dans un format adapté au transfert sur un réseau ou au stockage. Cependant, Astro ne sérialise pas tous les types de structures de données. Par conséquent, il existe certaines limitations concernant les propriétés qui peuvent être transmises aux composants hydratés.
128+
129+
Les types de propriétés suivants sont pris en charge :
130+
objet simple, `number`, `string`, `Array`, `Map`, `Set`, `RegExp`, `Date`, `BigInt`, `URL`, `Uint8Array`, `Uint16Array`, `Uint32Array` et `Infinity`
131+
132+
Les structures de données non prises en charge transmises aux composants, telles que les fonctions, ne peuvent être utilisées que lors du rendu du composant sur le serveur et ne peuvent pas être utilisées pour fournir de l'interactivité. Par exemple, la transmission de fonctions aux composants hydratés n'est pas prise en charge, car Astro ne peut pas transmettre de fonctions depuis le serveur de manière à les rendre exécutables sur le client.
133+
131134
## Passer des enfants à des composants de framework
132135

133136
Dans un composant Astro, vous **pouvez** transmettre des enfants à des composants de framework. Chaque framework a son propre modèle pour référencer ces enfants : React, Preact et Solid utilisent une propriété spéciale nommée `children`, tandis que Svelte et Vue utilisent l'élément `<slot />`.

src/content/docs/fr/guides/server-islands.mdx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ const avatarURL = await getUserAvatar(userSession);
3434
<img alt="Avatar de l'utilisateur" src={avatarURL} />
3535
```
3636

37+
### Transmission de props aux îlots de serveur
38+
39+
Les props fournies aux composants d'îlot de serveur doivent être [sérialisables](https://developer.mozilla.org/fr/docs/Glossary/Serialization) : capables d'être traduites dans un format adapté au transfert sur un réseau ou au stockage. De plus, Astro ne sérialise pas tous les types de structures de données sérialisables. Par conséquent, il existe certaines limitations concernant les propriétés qui peuvent être transmises aux îlots de serveur.
40+
41+
Notamment, les fonctions ne peuvent pas être transmises aux composants marqués avec `server:defer` car elles ne peuvent pas être sérialisées. Les objets avec des références circulaires ne sont pas non plus sérialisables.
42+
43+
Les types de propriétés suivants sont pris en charge :
44+
objet simple, `number`, `string`, `Array`, `Map`, `Set`, `RegExp`, `Date`, `BigInt`, `URL`, `Uint8Array`, `Uint16Array`, `Uint32Array` et `Infinity`
45+
3746
## Contenu de repli de l'îlot de serveur
3847

3948
Lorsque vous utilisez l'attribut `server:defer` sur un composant pour retarder son rendu, vous pouvez « insérer » un contenu de chargement par défaut en utilisant le slot nommé `"fallback"` inclus.

0 commit comments

Comments
 (0)