RSCStaticRouter
On this page

unstable_RSCStaticRouter



This API is experimental and subject to breaking changes in minor/patch releases. Please use with caution and pay very close attention to release notes for relevant changes.

Summary

Reference Documentation ↗

Pre-renders an RSCPayload to HTML. Usually used in 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,
  fetchServer,
  createFromReadableStream,
  async renderHTML(getPayload) {
    const payload = await getPayload();

    return await renderHTMLToReadableStream(
      <RSCStaticRouter getPayload={getPayload} />,
      {
        bootstrapScriptContent,
        formState: await getFormState(payload),
      }
    );
  },
});

Signature

function RSCStaticRouter({ getPayload }: RSCStaticRouterProps)

Props

getPayload

A function that starts decoding of the RSCPayload. Usually passed through from routeRSCServerRequest's renderHTML.

Docs and examples CC 4.0
Edit