Pre-renders an unstable_RSCPayload to HTML. Usually used in
unstable_routeRSCServerRequest's renderHTML callback.
import { createFromReadableStream } from "@vitejs/plugin-rsc/ssr";
import * as ReactDomServer from "react-dom/server.edge";
import {
unstable_RSCStaticRouter as RSCStaticRouter,
unstable_routeRSCServerRequest as routeRSCServerRequest,
} from "react-router";
routeRSCServerRequest({
request,
serverResponse,
createFromReadableStream,
nonce,
async renderHTML(getPayload, options) {
const payload = getPayload();
return await renderHTMLToReadableStream(
<RSCStaticRouter
getPayload={getPayload}
nonce={options.nonce}
/>,
{
...options,
bootstrapScriptContent,
formState: await payload.formState,
}
);
},
});
function RSCStaticRouter({ getPayload, nonce }: RSCStaticRouterProps)
A function that starts decoding of the unstable_RSCPayload. Usually passed
through from unstable_routeRSCServerRequest's renderHTML.
An optional nonce
used as the default for nonce-aware components such as <Links> and
<ScrollRestoration>.