Skip to main content
Les composants React sont un excellent moyen de créer des éléments interactifs et réutilisables dans votre documentation.

Utiliser des composants React

Vous pouvez créer des composants React directement dans vos fichiers MDX à l’aide des hooks React.

Exemple

Cet exemple déclare un composant Counter, puis l’utilise avec <Counter />.
Le compteur est rendu sous forme de composant React interactif.

Importer des composants

Vous pouvez importer des composants à partir de votre dossier snippets. Contrairement à React standard, vous ne pouvez pas importer des composants depuis n’importe quel fichier MDX. Les composants réutilisables doivent être référencés depuis des fichiers situés dans le dossier snippets. En savoir plus sur les snippets réutilisables.

Exemple

Cet exemple déclare un composant ColorGenerator qui utilise plusieurs hooks React, puis l’emploie dans un fichier MDX. Créez le fichier color-generator.jsx dans le dossier snippets :
/snippets/color-generator.jsx
Importez le composant ColorGenerator et utilisez-le dans un fichier MDX :
Le générateur de couleurs se présente sous la forme d’un composant React interactif.

Considérations

Les composants à base de hooks React sont rendus côté client, ce qui entraîne plusieurs implications :
  • SEO : Les moteurs de recherche pourraient ne pas indexer entièrement le contenu dynamique.
  • Chargement initial : Les visiteurs peuvent voir un flash de contenu en cours de chargement avant l’affichage des composants.
  • Accessibilité : Assurez-vous que les modifications de contenu dynamique sont annoncées aux lecteurs d’écran.
  • Optimiser les tableaux de dépendances : N’incluez que les dépendances nécessaires dans vos tableaux de dépendances useEffect.
  • Mémoriser les calculs complexes : Utilisez useMemo ou useCallback pour les opérations coûteuses.
  • Réduire les rerenders : Scindez les gros composants en plus petits pour éviter les rerenders en cascade.
  • Chargement différé (lazy loading) : Envisagez de charger les composants complexes de manière différée pour améliorer le temps de chargement initial de la page.