---
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/v8/functions/react-router.unstable_RSCStaticRouter.html)
Pre-renders an [`unstable_RSCPayload`](https://api.reactrouter.com/v8/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,
nonce,
async renderHTML(getPayload, options) {
const payload = getPayload();
return await renderHTMLToReadableStream(
,
{
...options,
bootstrapScriptContent,
formState: await payload.formState,
}
);
},
});
```
## Signature
```tsx
function RSCStaticRouter({ getPayload, nonce }: RSCStaticRouterProps)
```
## Props
### getPayload
A function that starts decoding of the [`unstable_RSCPayload`](https://api.reactrouter.com/v8/types/react-router.unstable_RSCPayload.html). Usually passed
through from [`unstable_routeRSCServerRequest`](../rsc/routeRSCServerRequest)'s `renderHTML`.
### nonce
An optional [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/nonce)
used as the default for nonce-aware components such as `` and
``.