피드로 돌아가기
Hacker NewsFrontend
원문 읽기
RSC를 프레임워크 제약 없는 데이터 스트림으로 재정의한 TanStack Start
TanStack Start Now Support React Server Components
AI 요약
Context
기존 RSC 모델은 서버가 컴포넌트 트리를 소유하는 Server-first 방식으로 설계되어 프레임워크의 강한 종속성을 유발함. 이로 인해 인터랙티브 경계 설정과 UI 재구성 과정에서 유연한 아키텍처 설계에 제약이 발생하는 한계점이 존재함.
Technical Solution
- RSC를 서버 소유의 트리가 아닌 단순한 React Flight stream 데이터로 취급하는 모델 설계
- renderToReadableStream을 통한 서버 사이드 Flight stream 생성 및 전송 구조 채택
- createFromReadableStream 및 createFromFetch를 사용하여 클라이언트가 필요한 시점에 스트림을 디코딩하는 Pull-based 방식 도입
- TanStack Query와 연동하여 RSC 출력물을 일반 비동기 리소스와 동일하게 캐싱하고 관리하는 메커니즘 구축
- 서버 함수(Server Functions)와 API Route 어디서든 RSC를 반환할 수 있는 분산형 생성 구조 구현
- 프레임워크 중심의 강제적 구조를 배제하고 개발자가 렌더링 위치와 시점을 결정하는 Isomorphic-first 전략 적용
실천 포인트
- RSC 도입 시 프레임워크의 강제적 컨벤션보다 데이터 스트림으로서의 활용 가능성 검토 - 무거운 렌더링 로직(Markdown 파싱, 구문 강조 등)을 서버로 분리하여 클라이언트 번들 크기 최적화 - 서버 컴포넌트의 출력물을 TanStack Query와 같은 상태 관리 라이브러리와 결합하여 캐싱 전략 수립 - 전면적인 RSC 전환 대신 필요한 부분에만 선택적으로 적용하는 Opt-in 전략 고려