URL을 바꾸는 문제인지, 화면을 조립하는 문제인지가 선택 기준이다
고급 라우팅 기능을 고를 때는 먼저 사용자가 보는 URL 변화와 개발자가 나누고 싶은 UI 책임을 분리한다.
| 상황 | 고를 기능 | 판단 근거 | 피해야 할 오해 |
|---|---|---|---|
| URL은 그대로 두고 코드 폴더만 묶고 싶다 | Route Groups | 괄호 폴더는 URL에 나오지 않음 | 그룹명이 경로가 된다고 생각하지 않기 |
| 마케팅과 대시보드가 서로 다른 레이아웃을 쓴다 | Route Groups + group layout | 그룹 내부에 layout.tsx를 둘 수 있음 | RootLayout을 불필요하게 거대하게 만들지 않기 |
| 대시보드 한 화면에 분석/팀 패널이 동시에 필요하다 | Parallel Routes | layout이 여러 슬롯 props를 받음 | @slot을 URL 세그먼트로 착각하지 않기 |
| 목록에서 클릭하면 모달, 직접 접근하면 전체 페이지가 필요하다 | Intercepting Routes | 상세 URL은 공유하면서 표시 방식만 달라짐 | 원본 상세 페이지를 없애지 않기 |
| URL 값으로 데이터를 조회한다 | Dynamic Routes | [id], [...slug]가 데이터 키가 됨 | 단순 상세 페이지에 고급 라우팅을 과하게 쓰지 않기 |