App Router는 Next.js 13부터 도입된 새로운 라우팅 시스템으로, React Server Components를 기본으로 사용하여 성능과 사용자 경험을 크게 개선했습니다.
page.tsx: 라우트 페이지layout.tsx: 공통 레이아웃loading.tsx: 로딩 UIerror.tsx: 에러 핸들링route.ts: API 핸들러RSC와 Client Component의 차이점과 사용 시나리오
Streaming SSR과 Suspense를 활용한 점진적 렌더링
Server Components에서의 데이터 페칭 패턴과 캐싱 전략
App Router의 새로운 API Routes 패턴
병렬 라우팅과 라우트 가로채기 패턴
Server Actions를 활용한 폼 처리와 데이터 변경
1. Server Components 이해: 기본적으로 모든 컴포넌트는 서버에서 렌더링됩니다. 클라이언트 인터랙션이 필요한 경우에만 'use client'를 사용하세요.
2. Streaming 활용: Suspense를 사용하여 중요한 콘텐츠를 먼저 보여주고 나머지는 준비되는 대로 표시하세요.
3. 캐싱 전략: fetch의 캐싱 옵션을 이해하고 적절히 활용하여 서버 부하를 줄이고 응답 속도를 개선하세요.
4. Server Actions: 폼 처리와 데이터 변경을 서버에서 안전하게 수행하고 클라이언트 JavaScript를 최소화하세요.