Po_tta_tt0
콩심콩 팥심팥 🌱
Po_tta_tt0
전체 방문자
오늘
어제
  • 분류 전체보기 (266)
    • 🐛 회고 (14)
    • 💭 생각 (2)
    • 🤸‍♀️ 내 프로젝트 (16)
      • FISH-NEWS (8)
      • MBTI 과몰입 테스트 (2)
      • twitter clonecoding with TS (4)
      • pilzagenda (2)
    • 👨‍👩‍👧‍👦 팀 프로젝트 (2)
      • 피우다 프로젝트 (0)
      • SEMO(세상의 모든 모임) (1)
      • 마음을 전하는 텃밭 (1)
      • Stackticon (0)
    • 👨‍💻 CS지식 (11)
    • ✍ 공부 (94)
      • JavaScript (21)
      • TypeScript (39)
      • Html (0)
      • CSS (2)
      • React (18)
      • NextJS (7)
      • Vue (1)
      • Python (1)
      • Django (0)
      • 개발환경 & 그 외 (2)
    • 🏄‍♀️ 코딩테스트 (99)
      • 🐍 Python (99)
    • 🐙 Git & GitHub (3)
    • 📑 오류기록 (8)
    • 📚 우리를 위한 기록 (9)
    • 수업 (3)
    • 강의 등 (2)
    • 👩‍🎓 SSAFY (0)
    • 👋 우테코 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • DP
  • 백준
  • dfs
  • 시뮬레이션
  • 백준 파이썬
  • BFS + DP
  • 파이썬 감시 피하기
  • 파이썬
  • 문자열
  • React
  • bfs
  • 구현
  • 이분탐색
  • 플로이드 워셜
  • js
  • 자바스크립트
  • react-router-dom
  • 파이썬 다익스트라
  • Next.js
  • 백준 숨바꼭질

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Po_tta_tt0

콩심콩 팥심팥 🌱

✍ 공부/NextJS

[ TIL ] Next.js 동적 라우팅 ( Dynamic Routing )

2022. 3. 19. 20:44
반응형

 

 

 

 

✍ Next.js에서의 라우팅

 

Next에서는 Static Routing(정적 라우팅)과 Dynamic Routing(동적 라우팅)을 지원한다.

 

 

<공식문서>

Next.js has a file-system based router built on the concept of pages.
When a file is added to the pages directory, it's automatically available as a route.
The files inside the pages directory can be used to define most common patterns.

Next.js는 파일 시스템 기반의 라우팅을 해준다

pages 경로에 파일을 추가하면 자동적으로 route할 수 있다

=> Next.js 프로젝트 안의 'pages' 라는 폴더에 라우팅하고 싶은 이름으로 된 파일을 만들어주면 되는 것.

=> 자연스럽게 우리가 만든 파일 이름을 주소로 라우팅되는 것이 정적 라우팅이다.

 

 

 

📌 Dynamic Routing(동적 라우팅)

 

아래는 Next.js에서 동적 라우팅을 할 수 있는 몇가지 방법이다.

  • pages/blog/[slug].js → /blog/:slug (/blog/hello-world)
  • pages/[username]/settings.js → /:username/settings (/foo/settings)
  • pages/post/[...all].js → /post/* (/post/2020/id/title)

 

🙌 [대괄호]

<pages/post/[pid].js>

=> pages 안에 post라는 폴더를 만들고 그 안에 [pid].js 파일을 만들었다.

 

/post/1 , /post/abc 등의 주소는 모두 post/[pid].js로 매칭된다.

대괄호 안의 임의의 이름은 라우터 객체의 query 속성으로 들어간다.

 

query

경로 : /post/abc

query 객체 : { "pid": "abc" }

 

경로 : /post/abc?foo=bar

query 객체 : { "foo": "bar", "pid": "abc" }

 

 

 

 

🙌 Catch all routes : [ . . . 대괄호] 

동적 라우팅은 만드는 파일 대괄호 안에 '...'을 찍어줌으로서 이 후 모든 경로를 잡아낼 수 있다.

<pages/post/[...pid].js>

=> pages 안에 post라는 폴더를 만들고 그 안에 [...pid].js 파일을 만들었다

 

이 파일은 ant path까지 잡아낼 수 있다

/post/1 , /post/abc, /post/abc/124/4635/efwef까지 모두 post/[...pid].js로 매칭된다

 

query

경로 : /post/abc

query 객체 : { "pid": ["abc"] }

 

경로 : /post/abc/123

query 객체 : { "pid": ["abc", "123"] }

 

 

 

 

🙌 Optional catch all routes : [ [ . . . 대괄호] ]

파일 이름을 이중 대괄호 안에 ...을 포함하여 작성해준다.

<pages/post/[[...pid]].js>

/post/1 , /post/abc, /post/abc/124/4635/efwef에 /post까지 모두 post/[...pid].js로 매칭된다

 

 

 

 

 

 

🙇‍♀️ Super Thanks !

https://nextjs.org/docs/routing/dynamic-routes

https://soft91.tistory.com/88

https://steadily-worked.tistory.com/601

 

반응형

'✍ 공부 > NextJS' 카테고리의 다른 글

[ TIL ] Next.js에서 Link 사용하기  (0) 2022.03.21
[ TIL ] Next.js redirects와 rewrites로 API key 숨기기  (0) 2022.03.18
Next.js에서 .env 사용하기  (2) 2022.03.18
[ Next.js ] SSR , CSR 그리고 SEO  (0) 2022.03.17
[ TIL ] 노마드코더 NextJS #2.0 - #2.1  (0) 2022.03.16
    '✍ 공부/NextJS' 카테고리의 다른 글
    • [ TIL ] Next.js에서 Link 사용하기
    • [ TIL ] Next.js redirects와 rewrites로 API key 숨기기
    • Next.js에서 .env 사용하기
    • [ Next.js ] SSR , CSR 그리고 SEO
    Po_tta_tt0
    Po_tta_tt0
    감자의 코딩하는 블로그 콩심은데 콩나고 팥심은데 팥난다

    티스토리툴바