| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 파이썬 장고
- Python Class
- Kotlin If
- 클래스 속성
- django virtualenv
- Python
- git
- python Django
- 다중조건문
- 파이썬
- 파이썬 제어문
- 도전
- 자바 기본타입
- 좋은글
- 파이썬 반복문
- 장고 가상환경
- Variable declaration
- 넥스트js
- Kotlin else if
- Kotlin 클래스
- github
- NextJs
- 강제 타입변환
- Kotlin 조건문
- 파이썬 클래스
- 성공
- Kotlin Class
- Kotlin 클래스 속성정의
- activate 오류
- 희망
- Today
- Total
키모스토리
#16. Route groups 본문
Next.js(App Router)에서 Route Group는 폴더 이름을 괄호로 감싼 (groupName) 형태로 만들고, 그 폴더는 정리용(조직화용) 이라서 URL 경로에 포함되지 않게 하는 규칙이에요. Next.js+1
1) 기본 규칙: (폴더명)은 URL에 안 들어감
예를 들어:
app/
(site)/
login/
page.tsx
위 구조의 실제 URL은 /login 입니다. (site)는 라우트 URL 세그먼트로 취급되지 않아요. Next.js+1
Route group 이름은 “의미”가 있는 게 아니라 그냥 정리용 이름이에요. Next.js
2) Route Group을 왜 쓰나? (대표 3가지)
A. 라우트를 팀/기능/섹션별로 정리
예: (site) / (partner) / (api) 처럼 “구역”별로 묶어 폴더 구조를 깔끔하게 유지. Next.js+1
B. 같은 URL 레벨인데 “레이아웃”을 다르게
(marketing)과 (shop)처럼 URL은 같은 레벨인데, 그룹별로 layout.tsx를 따로 둬서 서로 다른 레이아웃을 적용할 수 있어요. Next.js
C. 어떤 라우트만 특정 레이아웃 “적용(Opt-in)” 시키기
예를 들어 account, cart만 같은 레이아웃을 쓰고, checkout은 빼고 싶으면:
app/
(shop)/
account/
cart/
layout.tsx // account, cart에만 적용
checkout/
이런 식으로 그룹 안에 넣은 애들만 레이아웃 공유가 가능합니다. Next.js+1
3) 주의사항(진짜 많이 밟는 함정)
A. “경로 충돌” 금지
Route group은 URL에 안 들어가니까,
- app/(marketing)/about/page.tsx
- app/(shop)/about/page.tsx
둘 다 URL이 /about 으로 겹쳐서 에러가 납니다. Next.js+1
B. “여러 Root Layout” 만들면 그룹 간 이동이 풀 리로드
app/(shop)/layout.tsx와 app/(marketing)/layout.tsx처럼 서로 다른 root layout을 쓰는 섹션 간 이동은 클라이언트 네비게이션이 아니라 전체 페이지 로드가 발생할 수 있어요. Next.js+1
C. 최상단 app/layout.tsx 없이 여러 root layout이면 / 위치 주의
top-level app/layout.tsx를 없애고 그룹별로 root layout을 쓰는 구조라면, 홈(/) page는 그룹 안에 있어야 해요(예: app/(marketing)/page.tsx). Next.js+1
'Web Devlopment > NextJs' 카테고리의 다른 글
| #15. Private folders (0) | 2025.12.27 |
|---|---|
| #14. Client fetch VS Sever Action (0) | 2025.12.26 |
| #13. params, searchParams (15+ 버전 에서 지켜야 할 점) (0) | 2025.12.26 |
| #12. Deployment (0) | 2025.03.30 |
| #11. Tailwind CSS (0) | 2025.03.30 |
