Next.js의 동적 라우트 차이점 이해하기
Next.js에서 동적 라우트를 구현할 때 @slug와 [[...filter]]는 다르게 동작합니다.
1. @slug 동적 라우트
기본 URL인 /archive는 포함하지 않고, 파라미터가 있는 경우만 처리합니다:
// 라우팅 동작
/archive ❌ 포함 안됨
/archive/2023 ✅ 포함
/archive/2024 ✅ 포함
2. [[...filter]] Optional Catch-all 라우트
기본 URL을 포함한 모든 하위 경로를 처리합니다:
// 라우팅 동작
/archive ✅ 포함됨 (params.filter는 undefined)
/archive/2023 ✅ 포함 (params.filter는 ['2023'])
/archive/2023/12 ✅ 포함 (params.filter는 ['2023', '12'])
폴더 구조 예시
app/
archive/
page.js // /archive 처리
@archive/
[year]/ // /archive/2023 처리
page.jsx
layout.jsx
이렇게 구성하면 기본 경로와 동적 경로를 깔끔하게 분리할 수 있습니다.
'개발 > NEXTJS' 카테고리의 다른 글
| useFormStatus, useFromState, useActionState 비교 (0) | 2025.01.04 |
|---|---|
| 서버 컴포넌트에서 loading이 필요 한 이유 (2) | 2025.01.03 |
| 병렬 세그먼트 (0) | 2025.01.02 |
| Next.js 15의 Page Props 변경사항 정리 (1) | 2024.12.29 |
| APP ROUTER 파일 이름 정리 (0) | 2024.12.20 |