Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
今更RSCについてのお話 Full RSC vs RSC as Data Next.jsとTa...
Search
iWonder118
April 18, 2026
25
0
Share
今更RSCについてのお話 Full RSC vs RSC as Data Next.jsとTanStack Start比較
iWonder118
April 18, 2026
More Decks by iWonder118
See All by iWonder118
多摩川.dev OP&ED
iwonder118
0
200
React Tokyo フェス 2026 の裏側
iwonder118
1
510
頑張ります!2026
iwonder118
0
70
イベント参加ふっかるになるための多摩川周辺.pdf
iwonder118
0
39
我々はなぜ中間表現を作るのか
iwonder118
0
850
OODAループを回すVibe_Coding.pdf
iwonder118
0
19
Reactで見る!純粋関数で深ぼる副作用
iwonder118
0
620
花開くWebAssembly(Wasm)の可能性 in 2025/06/21 まさるの勉強会
iwonder118
0
19
SSG___CSRで乗り切るiframe内ルーティング_AIコーディング拡張版_in_Funabashi.dev.pdf
iwonder118
0
51
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
150
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
The Cult of Friendly URLs
andyhume
79
6.9k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
530
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
810
Paper Plane
katiecoart
PRO
1
50k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
We Have a Design System, Now What?
morganepeng
55
8.1k
Agile that works and the tools we love
rasmusluckow
331
21k
Building AI with AI
inesmontani
PRO
1
1k
Transcript
今更RSCについてのお話 Full RSC vs RSC as Data Next.jsとTanStack Start比較 in
Funabashi.dev 2026/4/18
多摩川駅周辺住み 社内システムを改修したり、インフラを作ったり、APIを生 やしたり...etc をやっていた2代目無職 趣味:#トンチキ技術グッズを作ったり 河村 直樹(@iwonder118) 自己紹介
なぜ今なのか C(lient)S(ide)R(endering)を強く打ち出していたTanStackが、今週RSC対応を出してきた https://tanstack.com/start/latest
このLTのきっかけ これを見て「どうやら棲み分けがあるっぽいぞ」と思い気になった
前提 - 今回のLTでTanStackを触っているのでそこら辺は初心者 - Next.jsは2年ぐらいの経験 - Reactは何もわからん状態
React Server Componentとは 複雑、分かりづらいと呼ばれる諸悪の根源(嘘) サーバ側でReactコンポーネントを評価して、その結果をクライアントへ送る仕組み Reactのコンポーネントツリーを、Flightという仕組みでクライアントに渡して合成する ブラウザ サーバ サーバコンポーネントを解 釈
Flight
React Server Componentとは - メリット - サーバアクセスや秘匿性のあるデータをクライアントに持ってこなくてよい - ブラウザから直接APIを叩かないので、データ取得の経路を短くしやすい -
手元のデバイスよりサーバ間での通信のほうが早い - 必要なところだけclient componentに切り出せる - SSRよりJS量が少なくなる - デメリット - どこまでがserverでどこからがclientかを常に意識する必要がある - ブラウザ側の状態や副作用(クエリパラメータ、Cookieなどへのアクセス)はclient componentに逃がす必要がある - インタラクティブなUIは結局client componentが必要 - モーダルとか
SSRとRSCの違い SSRはサーバ側でレンダリングをしてHTMLを返す その後にクライアント側でJavaScriptがハイドレーションをして、画面を構築 RSCはサーバ側でレンダリングをして、評価結果をReact Flightで返す クライアント側で差分変更をして画面を構築 CSRで全て行っていたもののうち、一部サーバで行える評価部分をサーバに移した物 SSR ブラウザ HTML
JS レンダラ HTML サーバ RSC ブラウザ レンダラ React Flight React サーバ
同じような TODOアプリで比較 Next.js版 TanStack Start版 AIに作らせました...
Next.jsのReact Flight __next_f部分がRSCで飛んでくる部分 (※初期表示の評価のためにHTMLに入っている) testでgrep
Next.jsでは RSC部分での変化があるたびに差分が飛んできて差し替わっている
TanStack Startでは $R[22]でgrep 後ろに引っ付いているscript内でリンクす る streamの部分がRSC $RSC部分がRSC部分(※初期表示の評価のためにHTMLに入っている) 構造が結構違う(というか独自)
TanStack Startでは testでgrep $_TSR部分がstream部分(※初期表示の評価のためにHTMLに入っている) 構造が結構違う(というか独自)
TanStack Startでは
TanStack Startでは Server Function のがRSCの返却を内包しているのでServer Functionの返答が 帰ってきている
比較 Client Component ブラウザ サーバー Server Component Router / Client
UI (Client Component) Next.js TanStack Start 見え方 データとしての Server Component - Next.js: RSCはアプリ全体の標準実装面 - TanStack Start: RSCはrouter/data layerが扱うデータの一種 境界線
なぜ違うのにできるのか 人が書いたJSXをReactが解釈して、レンダラー によって出力するものが変わっている 人 HTML JSX サーバ Fiber Tree React評価部分
仮想 DOM etc… React Element フレーム ワーク Flight etc… レンダラー クライアント React部分
まとめ 同じRSCなのにアプローチが違う Next.jsでのRSCはアプリを構築する手段として、扱うデータの関心事によっての棲 み分けのため TanStack StartではRSCをrouter/data layerが扱うデータとして応用して、クライア ント部分のサポート でもその柔軟性ができるのが、Reactが宣言的なUIの記述ライブラリであり、抽象 的な表現を用いているため
ご清聴ありがとうございました
宣伝 ついにやります!! 5/1 (金) 19:30~ 僕が船橋に来れているのでみんなの 参加待ってます
宣伝② 2026/5/9
宣伝③ 5/14(木)、5/15(金) すでに650名ぐらいの参加登録!
宣伝④