레이아웃 데이터는 공유 범위가 넓을 때, 페이지 데이터는 화면별로 다를 때 둔다
layout은 서버 컴포넌트가 기본이라 공통 데이터를 서버에서 가져오기에 좋지만, 너무 넓은 범위에 두면 불필요한 의존이 생긴다.
| 데이터 | 두기 좋은 위치 | 이유 | 주의 신호 |
|---|---|---|---|
| 사용자 이름/권한 | root 또는 dashboard layout | 여러 하위 페이지가 공통 사용 | 모든 페이지가 기다리는 병목 |
| 대시보드 메뉴 | dashboard/layout.tsx | 대시보드 하위에서 반복 | 다른 섹션까지 노출되면 위치가 높음 |
| 설정 상세 값 | settings/page.tsx | 해당 화면에서만 필요 | layout에 두면 다른 페이지도 영향 |
| 로딩 UI | loading.tsx 또는 Suspense | 대기 위치를 세그먼트별로 제어 | 전체 화면이 과하게 멈춤 |
| 클라이언트 상태 | 작은 client component | 이벤트와 상태가 필요한 부분만 hydrate | layout 전체를 use client로 올림 |