createCallServer
On this page

unstable_createCallServer



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 ↗

Create a React callServer implementation for React Router.

import {
  createFromReadableStream,
  createTemporaryReferenceSet,
  encodeReply,
  setServerCallback,
} from "@vitejs/plugin-rsc/browser";
import { unstable_createCallServer as createCallServer } from "react-router";

setServerCallback(
  createCallServer({
    createFromReadableStream,
    createTemporaryReferenceSet,
    encodeReply,
  })
);

Signature

function createCallServer({
  createFromReadableStream,
  createTemporaryReferenceSet,
  encodeReply,
  fetch: fetchImplementation = fetch,
}: {
  createFromReadableStream: BrowserCreateFromReadableStreamFunction;
  createTemporaryReferenceSet: () => unknown;
  encodeReply: EncodeReplyFunction;
  fetch?: (request: Request) => Promise<Response>;
})

Params

opts.createFromReadableStream

Your react-server-dom-xyz/client's createFromReadableStream. Used to decode payloads from the server.

opts.createTemporaryReferenceSet

A function that creates a temporary reference set for the RSC payload.

opts.encodeReply

Your react-server-dom-xyz/client's encodeReply. Used when sending payloads to the server.

opts.fetch

Optional fetch implementation. Defaults to global fetch.

Returns

A function that can be used to call server actions.

Docs and examples CC 4.0
Edit