From 026cef32ae1eca5ba9cee37aadcafce15591bbd7 Mon Sep 17 00:00:00 2001 From: Ryan Christian Date: Fri, 17 Jan 2025 13:07:39 -0600 Subject: [PATCH] chore: Switch React example to use `prerender` export --- examples/react/src/index.jsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/examples/react/src/index.jsx b/examples/react/src/index.jsx index 016a236..ca96ed4 100644 --- a/examples/react/src/index.jsx +++ b/examples/react/src/index.jsx @@ -30,10 +30,18 @@ if (typeof window !== 'undefined') { } export async function prerender(data) { - const { renderToString } = await import('react-dom/server'); + const { prerender: reactPrerender } = await import('react-dom/static'); const { parseLinks } = await import('vite-prerender-plugin/parse'); - const html = await renderToString(); + const { prelude } = await reactPrerender(); + const reader = prelude.getReader(); + let html = ''; + while (true) { + const { done, value } = await reader.read(); + if (done) break; + html += Buffer.from(value).toString('utf-8'); + } + const links = parseLinks(html); return { html, links };