TanStack Start、RSC を Flight ストリームとして扱う実験機能
TanStack Start は React Server Components(RSC)をフレームワークがツリー全体を握る前提ではなく、サーバー関数や API から返す React Flight の読み取り可能ストリームとして扱い、クライアント側で取得・キャッシュ・デコードのタイミングを選べるようにする設計であるとしている。低レベル API は renderToReadableStream・createFromReadableStream・createFromFetch(@tanstack/react-start/rsc)にまとめられ、TanStack Query のクエリや TanStack Router のローダー経由で他の非同期リソースと同様に載せられる。'use server' アクションは採用せず、境界は createServerFn による明示的な RPC に寄せている。
新規の合成モデルとして Composite Components を挙げている。createCompositeComponent でサーバー側が記事本文などを描画しつつ、children や render prop 形式のスロットを空け、クライアントが CompositeComponent に通常のクライアントコンポーネントを渡して埋める。サーバーはスロット内のノードを検査・変形しない。
RSC 対応は TanStack Start の RC で実験的であり、早期の v1 までも実験的のままとある。サーバーコンポーネント内では現時点で TanStack Start 通常のシリアライズ機能は使えず、React ネイティブの Flight プロトコルに依存する。API は実験期間中に洗練される可能性がある。
tanstack.com のコンテンツ重いページでは、ブログ・ドキュメントのクライアント JS が gzip で約 153 KiB ずつ削減された例や、該当ブログ記事ページの Lighthouse スコアや Total Blocking Time・転送量の改善例が示されている。一方でインタラクティブ UI が主のページでは効果が限定的な場合があるとしている。