Skip to content

Instantly share code, notes, and snippets.

@khg0712
Last active May 28, 2023 18:12
Show Gist options
  • Save khg0712/3d1342f2efc113a3cf0f9146eb3fa94b to your computer and use it in GitHub Desktop.
Save khg0712/3d1342f2efc113a3cf0f9146eb3fa94b to your computer and use it in GitHub Desktop.
// Next.js v13.0.0 ~ v13.3.0에서의 SSR 코드
// 레퍼런스하는 코드는 v13.3.0 기준
// packages/next/src/server/render.ts
// https://github.com/vercel/next.js/blob/v13.3.0/packages/next/src/server/render.tsx#L119
// streaming SSR 지원을 위해 renderToReadableStream을 사용해서 SSR 처리
// v12.3.4처럼 renderDocument에서 document render를 진행하고,
// renderDocument에서 renderToString 호출
async function renderToString(element: React.ReactElement) {
const renderStream = await ReactDOMServer.renderToReadableStream(element)
await renderStream.allReady
return streamToString(renderStream)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment