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