renderToStaticNodeStream
renderToStaticNodeStream
renderiza uma árvore React não interativa para um Node.js Readable Stream.
const stream = renderToStaticNodeStream(reactNode, options?)
Reference
renderToStaticNodeStream(reactNode, options?)
No servidor, chame renderToStaticNodeStream
para obter um Node.js Readable Stream.
import { renderToStaticNodeStream } from 'react-dom/server';
const stream = renderToStaticNodeStream(<Page />);
stream.pipe(response);
O stream produzirá uma saída HTML não interativa de seus componentes React.
Parameters
-
reactNode
: Um nó React que você deseja renderizar em HTML. Por exemplo, um elemento JSX como<Page />
. -
opcional
options
: Um objeto para a renderização do servidor.- opcional
identifierPrefix
: Um prefixo de string que o React usa para IDs gerados poruseId
. Útil para evitar conflitos ao usar múltiplas raízes na mesma página.
- opcional
Returns
Um Node.js Readable Stream que produz uma string HTML. O HTML resultante não pode ser hidratado no cliente.
Caveats
-
A saída de
renderToStaticNodeStream
não pode ser hidratada. -
Este método aguardará que todas as Suspense boundaries sejam concluídas antes de retornar qualquer saída.
-
A partir do React 18, este método armazena em buffer toda a sua saída, portanto, na verdade, não fornece nenhum benefício de streaming.
-
O stream retornado é um stream de bytes codificado em utf-8. Se você precisar de um stream em outra codificação, dê uma olhada em um projeto como iconv-lite, que fornece streams de transformação para transcodificar texto.
Usage
Rendering a React tree as static HTML to a Node.js Readable Stream
Chame renderToStaticNodeStream
para obter um Node.js Readable Stream que você pode enviar para a resposta do seu servidor:
import { renderToStaticNodeStream } from 'react-dom/server';
// A sintaxe do manipulador de rota depende do seu framework de backend
app.use('/', (request, response) => {
const stream = renderToStaticNodeStream(<Page />);
stream.pipe(response);
});
O stream produzirá a saída HTML inicial não interativa de seus componentes React.