RSC as a serializer, not a model

📰 Dev.to · Viktor Lázár

The most interesting thing about how TanStack Start integrates React Server Components is not what it...

Published 27 Apr 2026

Full Article

Title: RSC as a serializer, not a model

URL Source: https://dev.to/lazarv/rsc-as-a-serializer-not-a-model-56nj

Published Time: 2026-04-27T17:32:02Z

Markdown Content:
# RSC as a serializer, not a model - DEV Community
[Skip to content](https://dev.to/lazarv/rsc-as-a-serializer-not-a-model-56nj#main-content)

[![Image 1: DEV Community](https://media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png)](https://dev.to/)

[Powered by Algolia](https://www.algolia.com/developers/?utm_source=devto&utm_medium=referral)

[Log in](https://dev.to/enter?signup_subforem=1)[Create account](https://dev.to/enter?signup_subforem=1&state=new-user)

## DEV Community

![Image 2](https://assets.dev.to/assets/heart-plus-active-9ea3b22f2bc311281db911d416166c5f430636e76b15cd5df6b3b841d830eefa.svg)0 Add reaction

![Image 3](https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg)0 Like ![Image 4](https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg)0 Unicorn ![Image 5](https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg)0 Exploding Head ![Image 6](https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg)0 Raised Hands ![Image 7](https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg)0 Fire

0 Jump to Comments 0 Save Boost

Copy link

Copied to Clipboard

[Share to X](https://twitter.com/intent/tweet?text=%22RSC%20as%20a%20serializer%2C%20not%20a%20model%22%20by%20%40lazarv1982%20%23DEVCommunity%20https%3A%2F%2Fdev.to%2Flazarv%2Frsc-as-a-serializer-not-a-model-56nj)[Share to LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fdev.to%2Flazarv%2Frsc-as-a-serializer-not-a-model-56nj&title=RSC%20as%20a%20serializer%2C%20not%20a%20model&summary=The%20most%20interesting%20thing%20about%20how%20TanStack%20Start%20integrates%20React%20Server%20Components%20is%20not%20what%20it...&source=DEV%20Community)[Share to Facebook](https://www.facebook.com/sharer.php?u=https%3A%2F%2Fdev.to%2Flazarv%2Frsc-as-a-serializer-not-a-model-56nj)[Share to Mastodon](https://s2f.kytta.dev/?text=https%3A%2F%2Fdev.to%2Flazarv%2Frsc-as-a-serializer-not-a-model-56nj)

[Share Post via...](https://dev.to/lazarv/rsc-as-a-serializer-not-a-model-56nj#)[Report Abuse](https://dev.to/report-abuse)

[![Image 8: Viktor Lázár](https://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1115191%2Fd5ca33e8-94a4-4cdf-9452-400c95556d9c.jpeg)](https://dev.to/lazarv)

[Viktor Lázár](https://dev.to/lazarv)
Posted on Apr 27

# RSC as a serializer, not a model

[#rsc](https://dev.to/t/rsc)[#tanstack](https://dev.to/t/tanstack)[#react](https://dev.to/t/react)[#architecture](https://dev.to/t/architecture)

The most interesting thing about how TanStack Start integrates React Server Components is not what it does with them. It is the shape of the API.

You do not write a Server Component. You do not opt into a model. You opt into a _function_ — a programmatic primitive that takes a component, runs it through the RSC renderer, and hands you back a payload you can store, transport, and rehydrate later. RSC is not the substrate of the application. It is a tool you reach for at specific call sites, when you want a specific thing.

That framing is worth pausing on, because it tells you something about the design intent that the marketing copy does not.

## [](https://dev.to/lazarv/rsc-as-a-serializer-not-a-model-56nj#what-the-api-is-really-for) What the API is really for

The use case being served is narrow and clear: caching values that the rest of the JavaScript ecosystem cannot cache. A normal cache stores JSON. JSON cannot r
Read full article → ← Back to Reads