공통 UI, 데이터, 상태는 필요한 가장 낮은 layout에 둔다
너무 높은 layout에 올리면 필요 없는 페이지까지 영향을 받고, 너무 낮게 두면 중복이 생긴다.
| 공유 대상 | 두기 좋은 위치 | 좋은 신호 | 나쁜 신호 |
|---|---|---|---|
전역 header/ | root layout | 모든 페이지에서 필요 | 특정 섹션 메뉴까지 전역에 둠 |
| 대시보드 sidebar | dashboard layout | 대시보드 하위에서만 유지 | about 페이지에도 메뉴가 보임 |
| 대시보드 사용자 정보 | dashboard layout | 하위 페이지가 공통 사용 | 모든 앱 페이지가 기다림 |
| 페이지별 상세 데이터 | 각 page.tsx | 필요한 화면에서만 조회 | layout fetch가 모든 하위 페이지를 지연 |
| 상호작용 상태 | 작은 client component | 상태 필요한 일부만 hydrate | layout 전체를 use client로 전환 |