--- title: RSCStaticRouter unstable: true --- # unstable_RSCStaticRouter [MODES: data]

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 ↗](https://api.reactrouter.com/v7/functions/react_router.unstable_RSCStaticRouter.html) Pre-renders an [`unstable_RSCPayload`](https://api.reactrouter.com/v7/types/react_router.unstable_RSCPayload.html) to HTML. Usually used in [`unstable_routeRSCServerRequest`](../rsc/routeRSCServerRequest)'s `renderHTML` callback. ```tsx 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( , { bootstrapScriptContent, formState: await payload.formState, } ); }, }); ``` ## Signature ```tsx function RSCStaticRouter({ getPayload }: RSCStaticRouterProps) ``` ## Props ### getPayload A function that starts decoding of the [`unstable_RSCPayload`](https://api.reactrouter.com/v7/types/react_router.unstable_RSCPayload.html). Usually passed through from [`unstable_routeRSCServerRequest`](../rsc/routeRSCServerRequest)'s `renderHTML`.