상태는 오래 살아야 하는 범위만큼만 위로 올린다
layout과 template을 함께 쓸 때는 상태의 수명을 기준으로 파일 위치를 정한다.
RootLayout
전역 테마, 폰트, 최상위 provider처럼 앱 전체에서 유지되는 구조
DashboardLayout
대시보드 사이드바, 계정 요약처럼 하위 페이지 이동 중 유지할 UI
DashTemplate
페이지 전환 애니메이션, 페이지뷰 측정처럼 이동마다 재시작할 동작
Page
현재 URL의 실제 콘텐츠와 page별 데이터 표시
| 상태 종류 | 권장 위치 | 근거 |
|---|---|---|
| 접힌 사이드바 | layout 내부 client island | 다른 대시보드 페이지에서도 유지되어야 함 |
| 폼 입력 초깃값 | template 또는 page | 다른 page로 이동하면 새로 시작하는 편이 자연스러움 |
| 페이지뷰 측정 | template | 탐색마다 한 번씩 다시 실행되어야 함 |
| 서버 데이터 | 가장 가까운 layout/page | 사용 범위를 넘기면 캐시와 책임이 흐려짐 |