개발2026-05-20
React Server Components 완벽 이해하기
RSC의 동작 원리와 실제 사용 패턴을 예제와 함께 상세히 설명합니다.
#React#Server Components#Next.js
React Server Components 이해하기
React Server Components(RSC)는 서버에서 실행되는 React 컴포넌트로, 클라이언트에 JavaScript를 전송하지 않습니다.
Server Component vs Client Component
Server Component (기본값):
- 서버에서 렌더링
- 상태(state) 사용 불가
- 이벤트 핸들러 사용 불가
- 데이터베이스 직접 접근 가능
Client Component ("use client"):
- 브라우저에서 렌더링
- useState, useEffect 사용 가능
- 이벤트 핸들러 사용 가능
- 상호작용이 필요한 UI에 사용
언제 무엇을 사용할까?
// Server Component - 데이터 페칭
async function PostList() {
const posts = await db.posts.findMany();
return <PostListClient posts={posts} />;
}
// Client Component - 인터랙션
"use client";
function LikeButton() {
const [liked, setLiked] = useState(false);
return <button onClick={() => setLiked(!liked)}>❤</button>;
}
RSC를 올바르게 사용하면 번들 크기를 줄이고 초기 로딩 속도를 크게 개선할 수 있습니다.