Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
今更RSCについてのお話 Full RSC vs RSC as Data Next.jsとTa...
Search
iWonder118
April 18, 2026
44
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
今更RSCについてのお話 Full RSC vs RSC as Data Next.jsとTanStack Start比較
iWonder118
April 18, 2026
More Decks by iWonder118
See All by iWonder118
極小Reactで描画を理解しながら追う
iwonder118
0
78
マフィアを目指そう※超健全
iwonder118
0
200
Tamagawa.dev #3 OP&ED
iwonder118
0
260
経験談から伝える! AIによって既に変わってしまった転職事情
iwonder118
7
3.7k
多摩川.dev #2 OP&ED
iwonder118
0
64
「積極的_無職のすすめ」ー U39
iwonder118
0
280
多摩川.dev OP&ED
iwonder118
0
370
React Tokyo フェス 2026 の裏側
iwonder118
1
640
頑張ります!2026
iwonder118
0
92
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
940
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
680
Code Review Best Practice
trishagee
74
20k
Exploring anti-patterns in Rails
aemeredith
4
510
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Ruling the World: When Life Gets Gamed
codingconduct
0
330
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
A Modern Web Designer's Workflow
chriscoyier
699
190k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
Deep Space Network (abreviated)
tonyrice
0
310
Optimising Largest Contentful Paint
csswizardry
37
4k
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名ぐらいの参加登録!
宣伝④