Composants en ligne
Importer des composants
/snippets/. En savoir plus sur les snippets réutilisables.
Les imports imbriqués ne sont pas pris en charge. Importez tous les composants référencés directement dans le fichier MDX parent.
snippets/ :
/snippets/color-generator.jsx
Considérations
- Rendu côté client uniquement : Les composants personnalisés s’affichent dans le navigateur après le chargement de la page, ils ne figurent donc pas dans le HTML rendu côté serveur. Cela s’applique aux composants que vous définissez avec
exportdans un fichier MDX et aux composants que vous importez par leur nom depuis un snippet, commeimport { ColorGenerator } from "/snippets/color-generator.jsx". Les snippets MDX que vous importez en tant que contenu, commeimport MySnippet from "/snippets/my-snippet.mdx", sont rendus côté serveur. - SEO : Comme les composants personnalisés ne figurent pas dans le HTML initial, les moteurs de recherche peuvent ne pas indexer complètement leur contenu.
- Chargement initial : Les visiteurs peuvent voir un flash ou un décalage de mise en page pendant le rendu des composants personnalisés. Pour le contenu qui doit apparaître dans le HTML initial ou ne doit pas se décaler au chargement, utilisez plutôt des composants intégrés comme les cartes et les colonnes. La plupart des composants intégrés sont rendus côté serveur.
- Accessibilité : Assurez-vous que les lecteurs d’écran annoncent les changements de contenu dynamique.
- Optimisez les tableaux de dépendances : N’incluez que les dépendances nécessaires dans
useEffect. - Mémoïsez les opérations coûteuses : Utilisez
useMemoouuseCallbacklorsque cela est pertinent. - Réduisez les re-rendus : Décomposez les grands composants en composants plus petits.
- Lazy loading : Le code des composants ne peut pas être chargé de façon différée. Tous les composants sont chargés avec la page. Si un composant effectue des opérations gourmandes en ressources lorsqu’il est monté, comme la récupération de données ou des calculs lourds, utilisez le rendu conditionnel pour différer son montage jusqu’à une interaction de l’utilisateur.