remount contract

template의 핵심 계약은 공통 UI가 아니라 재마운트다

layout은 공유 범위를 만들고, template은 그 안에서 page 전환마다 다시 실행할 작업을 맡는다.

비교 축 layout.tsx template.tsx 선택 기준
라우트 이동 인스턴스 유지 새 인스턴스 생성 상태를 남길지 버릴지
대표 용도 공통 UI, provider, 서버 데이터 경계 전환 효과, 로거, 폼 초기화 유지보다 초기화가 중요한가
children 하위 layout/template/page 삽입 하위 page를 새 경계로 감쌈 둘 다 children을 렌더해야 함
상호작용 작은 client island 권장 필요하면 client component 가능 브라우저 API가 필요한 부분만 client
남용 신호 너무 넓은 데이터 fetch 공통 UI만 감싸는 template 파일을 추가한 이유가 설명되는가