동적 라우트 파일 위치는 URL 패턴과 서버 데이터 조회 위치를 동시에 결정한다
동적 page는 기본적으로 서버 컴포넌트로 두고, params 값으로 필요한 데이터를 서버에서 조회하는 흐름이 자연스럽다.
| 결정할 것 | 권장 위치 | 좋은 신호 | 나쁜 신호 |
|---|---|---|---|
| 상세 페이지 파일 | app/blog/[slug]/page.tsx | URL 값이 params.slug로 들어옴 | 고정 slug 폴더를 만들어 버림 |
| 데이터 조회 | 동적 page 서버 컴포넌트 | slug로 DB/API 조회 | 클라이언트에서 비밀 API 호출 |
| 정적 후보 | generateStaticParams | 반환 키가 폴더명과 일치 | slug 대신 id를 반환 |
| 없는 데이터 | notFound() 처리 | 없는 slug는 404로 마감 | undefined 화면 노출 |
| 상호작용 | 작은 client component | 상세 페이지 일부만 hydrate | page 전체를 use client로 전환 |