template 판단 기준

상태 유지 범위 분리

template.tsx는 페이지 이동마다 새로 마운트됩니다. 그래서 공통 UI라는 이유보다 reset, animation, page-view 측정이 필요한지로 선택해야 합니다.

Layout에 남길 것

preserve
L

사이드바, 탭, 사용자 요약처럼 페이지 이동 중 유지되어야 하는 화면 골격

C

하위 페이지가 반복해서 읽는 서버 데이터와 캐시 가능한 공통 영역

Template에 둘 것

remount
R

페이지 이동마다 폼 입력, 탭 선택, 임시 UI 상태를 초기화해야 하는 영역

E

진입 애니메이션, 로그 세션, 성능 측정을 매 page-view마다 새로 시작하는 영역

상태 유지 범위 분리 선택 기준

상태 유지?

유지되어야 하면 layout.tsx가 더 알맞습니다.

새 인스턴스?

탐색마다 초기 상태가 필요하면 template.tsx를 검토합니다.

부작용 단위?

측정과 애니메이션이 page-view 단위라면 template이 선명합니다.

남용 여부?

단순 공통 wrapper라면 레이아웃으로 충분한지 다시 확인합니다.

animation

진입 효과 재실행

하위 페이지 이동마다 같은 애니메이션이 처음부터 실행되어야 할 때 적합합니다.

form reset

임시 입력 초기화

이전 페이지의 폼 입력이나 임시 선택이 다음 페이지에 남으면 안 될 때 사용합니다.

analytics

페이지 뷰 측정

방문 단위의 타이머와 로거를 라우트 이동마다 새 세션으로 시작합니다.

cleanup

로컬 상태 정리

레이아웃은 유지하되 콘텐츠 wrapper만 새로 만들고 싶을 때 경계를 둡니다.