renderToStaticMarkup
renderToStaticMarkup produit le HTML non interactif d’un arbre React.
const html = renderToStaticMarkup(reactNode, options?)Référence
renderToStaticMarkup(reactNode, options?)
Côté serveur, appelez renderToStaticMarkup pour produire le HTML de votre appli.
import { renderToStaticMarkup } from 'react-dom/server';
const html = renderToStaticMarkup(<Page />);Elle renverra le HTML non interactif de vos composants React.
Voir d’autres exemples ci-dessous.
Paramètres
reactNode: un nœud React dont vous voulez obtenir le HTML. Ça pourrait par exemple être un nœud JSX tel que<Page />.optionsoptionnelles : un objet avec des options pour le rendu côté serveur.identifierPrefixoptionnel : un préfixe textuel utilisé pour les ID générés paruseId. Pratique pour éviter les conflits entre les ID au sein de racines multiples sur une même page.
Valeur renvoyée
Une chaîne de caractères HTML.
Limitations
-
Le résultat de
renderToStaticMarkupne peut pas être hydraté. -
renderToStaticMarkupne prend que partiellement en charge Suspense. Si un composant suspend,renderToStaticMarkuputilisera immédiatement le HTML de son contenu de secours. -
renderToStaticMarkupfonctionne dans un navigateur, mais il est déconseillé de l’utiliser dans du code client. Si vous devez obtenir le HTML d’un composant dans un navigateur, récupérez le HTML de son rendu dans un nœud DOM.
Utilisation
Produire le HTML non interactif d’un arbre React
Appelez renderToStaticMarkup pour produire le HTML de votre appli, que vous pourrez alors renvoyer dans votre réponse serveur :
import { renderToStaticMarkup } from 'react-dom/server';
// La syntaxe du gestionnaire de routes dépend de votre framework côté serveur
app.use('/', (request, response) => {
const html = renderToStaticMarkup(<Page />);
response.send(html);
});Ça produira le HTML initial, non interactif, de vos composants React.