Options
Your react-server-dom-xyz/client's
createFromReadableStream function, used to decode payloads from the server.
Optionalhydrate?: booleanWhether to hydrate the server response with the RSC payload.
Defaults to true.
A function that renders the unstable_RSCPayload to
HTML, usually using a <RSCStaticRouter>.
The request to route.
A Response or partial response generated by the RSC handler containing a serialized unstable_RSCPayload.
A Response
that either contains the RSC
payload for data requests, or renders the HTML for document requests.
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,
async renderHTML(getPayload) {
const payload = getPayload();
return await renderHTMLToReadableStream(
<RSCStaticRouter getPayload={getPayload} />,
{
bootstrapScriptContent,
formState: await payload.formState,
}
);
},
});
Routes the incoming
Requestto the RSC server and appropriately proxies the server response for data / resource requests, or renders to HTML for a document request.