From 3b35358baba54e88d720a4bee7c5bd0a3d0902e2 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Tue, 30 Dec 2025 23:57:22 +0100 Subject: [PATCH] checkpoint --- src/blog/tanstack-start-rsc.md | 50 ++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/src/blog/tanstack-start-rsc.md b/src/blog/tanstack-start-rsc.md index 85e913f0..71d4e9b0 100644 --- a/src/blog/tanstack-start-rsc.md +++ b/src/blog/tanstack-start-rsc.md @@ -11,11 +11,11 @@ authors: React Server Components are a genuine leap for React. They reduce bundle size, stream UI as it resolves, and move work off the client. But the way RSCs have been implemented so far comes with a tradeoff: **the server owns the component tree**. -Your client code opts into interactivity with `'use client'`. **Composition flows one direction**—server decides, client receives. The React model you know—props, context, bidirectional composition—gets fragmented across environments. +Your client code opts into interactivity with `'use client'`. **Composition flows one direction**—server decides, client receives. The React model you know—props, context, client-led composition—gets fragmented across environments. What if it didn't have to? -What if RSCs were actually components? **Fetchable. Cacheable. Composable in both directions.** Primitives that flow through your router, your cache, your data layer—without special directives or framework lock-in. +What if RSCs were actually components? **Fetchable. Cacheable. Composable by the client.** Primitives that flow through your router, your cache, your data layer—without special directives or framework lock-in. That's what we built in **TanStack Start**. @@ -51,13 +51,24 @@ In the traditional model, you'd create a new client component, a new file, a new --- -## Bidirectional Composition +## Composite Components -**TanStack Start flips the constraint.** +**TanStack Start treats RSC output as a composable UI value.** -**Server components can render interactive elements directly**—``, `