server-components

Implement, review, debug, and refactor TanStack Start React Server Components in React 19 apps. Use when tasks mention @tanstack/react-start/rsc, renderServerComponent, createCompositeComponent, CompositeComponent, renderToReadableStream, createFromReadableStream, createFromFetch, Composite Components, React Flight streams, loader or query owned RSC caching, router.invalidate, structuralSharing: false, selective SSR, stale names like renderRsc or .validator, or migration from Next App Router RSC patterns. Do not use for generic SSR or non-TanStack RSC frameworks except brief comparison.

Install
npx skills add 'https://github.com/TanStack/router/tree/main/packages/react-start/skills/react-start/server-components'
Download bundle ↓
main · 8e164d2Scanned 2026-09-15

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗
View on GitHub
← Back to SKILL.md
// Browser-owned loader pattern.// Use when the loader itself needs browser APIs such as localStorage. import { createFileRoute } from '@tanstack/react-router'import { createServerFn } from '@tanstack/react-start'import { renderServerComponent } from '@tanstack/react-start/rsc'import { z } from 'zod' const getDrawingTools = createServerFn({ method: 'POST' })  .validator(z.object({ savedState: z.string().nullable() }))  .handler(async ({ data }) => {    const Tools = await renderServerComponent(      <ToolPalette savedState={data.savedState} />,    )     return { Tools }  }) export const Route = createFileRoute('/canvas')({  ssr: false,  loader: async () => {    const savedState = localStorage.getItem('canvas-state')    return getDrawingTools({ data: { savedState } })  },  component: CanvasPage,}) function CanvasPage() {  const { Tools } = Route.useLoaderData()  return <>{Tools}</>} function ToolPalette(props: { savedState: string | null }) {  return (    <section>      <h1>Canvas tools</h1>      <pre>{props.savedState ?? 'no saved state'}</pre>    </section>  )} 
Referenced from SKILL.md