renderToStaticMarkup
renderToStaticMarkup renderiza uma árvore React não interativa para uma string HTML.
const html = renderToStaticMarkup(reactNode, options?)Referência
renderToStaticMarkup(reactNode, options?)
No servidor, chame renderToStaticMarkup para renderizar seu aplicativo para HTML.
import { renderToStaticMarkup } from 'react-dom/server';
const html = renderToStaticMarkup(<Page />);Ele produzirá saída HTML não interativa de seus componentes React.
Parâmetros
reactNode: Um nó React que você deseja renderizar em HTML. Por exemplo, um nó JSX como<Page />.- opcional
options: Um objeto para renderização no servidor.- opcional
identifierPrefix: Um prefixo de string que o React usa para IDs gerados poruseId. Útil para evitar conflitos ao usar vários roots na mesma página.
- opcional
Retorna
Uma string HTML.
Ressalvas
-
A saída de
renderToStaticMarkupnão pode ser hidratada. -
renderToStaticMarkuptem suporte limitado para Suspense. Se um componente suspender,renderToStaticMarkupenvia imediatamente seu fallback como HTML. -
renderToStaticMarkupfunciona no navegador, mas usá-lo no código do cliente não é recomendado. Se você precisar renderizar um componente para HTML no navegador, obtenha o HTML renderizando-o em um nó DOM.
Uso
Renderizando uma árvore React não interativa como HTML para uma string
Chame renderToStaticMarkup para renderizar seu aplicativo em uma string HTML que você pode enviar com sua resposta do servidor:
import { renderToStaticMarkup } from 'react-dom/server';
// A sintaxe do manipulador de rota depende da sua estrutura de backend
app.use('/', (request, response) => {
const html = renderToStaticMarkup(<Page />);
response.send(html);
});Isso produzirá a saída HTML inicial não interativa de seus componentes React.