React Server Components, 도입해보고 느낀 것들
RSC를 프로덕션에 도입한 지 3개월이 지났다. 번들 크기는 확실히 줄었지만, 멘탈 모델의 전환 비용이 생각보다 컸다.
좋았던 점
- 데이터 페칭이 컴포넌트 안으로 들어오면서 워터폴이 눈에 보이게 됐다
- 클라이언트 번들에서 마크다운 파서, 날짜 라이브러리가 빠졌다
불편한 점
"use client" 경계를 어디에 그을지가 매번 논쟁거리다. 서버 컴포넌트에서 클라이언트 컴포넌트로 함수를 넘길 수 없다는 제약은 알면서도 계속 걸려 넘어진다.
// 이건 안 된다 — 함수는 직렬화되지 않는다
<ClientList onSelect={(id) => db.update(id)} />
결론: 새 프로젝트라면 추천, 기존 SPA 마이그레이션이라면 신중하게.