티스토리 뷰
[Next.js] Route groups, Meta Data, dynamic routes 간단 정리
junvely 2024. 3. 16. 19:341. Route groups
폴더이름에 ()괄호를 넣어주면 url은 변하지 않고 페이지를 묶어줄 수 있다.
routes를 그룹화하여 logical groups로 만들 수 있다. 이렇게 관련된 페이지들을 그룹화 하면 좀 더 직관적으로 파악이 가능하다.

2. Meta Data
- 메타 데이터는 병합된다(다른 page에서는 title, layout에는 description 사용할 경우 병합되어 나옴)
- page나 layout 에서만 메타데이터를 내보낼 수 있다.
- 컴포넌트에서는 메타데이터를 내보낼 수 없다.
- 메타 데이터는 서버 컴포넌트에서만 있을 수 있다.
- title 등에 template 옵션으로 공통으로 띄울 문자열 지정이 가능하다. default는 기본값.

- 공식문서에서 여러가지 옵션들 확인 가능하다.

3. dynamic routes
폴더명/[id] 폴더 생성/page.tsx 으로 동적 라우팅 가능 -> [ ] 대괄호 필수 (리액트 동적라우팅 /movie/:id와 같지만 hook이 필요 없다.)

/movies/어떤주소가 와도 해당 page 띄워줌

-> 페이지에서 받는 /movie/123424 id를 받아와 보자

props을 받아서 console.log 해주면 ❗브라우저 console에 찍히지 않고 서버에서 찍히는걸 확인할 수 있다.

서버에서 렌더링되기 때문이다. id는 내가 중괄호로 설정한 이름이다 [ id ] 다른이름도 가능.
searchParams 는 주소창에 /movie/123424?region=kr 이런식으로 오면 아래와 같이 확인 가능하다. 검색 페이지 구현시 유용하게 사용한다.

/movie/123424?region=kr&page=2 결과

아래와 같이 정보를 얻을 수 있다.

'JavaScript > Next.js' 카테고리의 다른 글
| [Next.js] App 디렉토리에서 route handlers로 API 구현하기 - Vercel Postgres + Prisma 풀스택 구현 (0) | 2024.03.20 |
|---|---|
| [Next.js] CSR의 Link 태그의 원리, Link와 useRouter의 차이점 (0) | 2024.03.18 |
| [Next.js] Data fetching하기, Loading 및 Error Handling (1) | 2024.03.17 |
| [Next.js] Next.js Routing과 Hydronation, 'use Client' 알아보기 (1) | 2024.03.15 |
- Total
- Today
- Yesterday
- 서버
- 타입스크립트
- 깃 협업
- git
- MongoDB
- useState와 useRef 차이
- 미니 프로젝트
- 드림코딩
- 호이스팅
- 리액트 페이지네이션
- 항해99
- URL
- 깃사용법
- 자바스크립트
- 항해
- require와 import 차이
- github
- 리액트
- Til
- 깃헙
- 깃허브
- Python
- Flask
- flask 서버
- 깃
- import
- 항해 프로젝트
- 중첩 라우팅
- http란 무엇인가
- 리액트 라우터
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |