Next.js 12 - Dynamic Routes

2025. 3. 11. 15:16·♠️ Next.js 12

Next.js

 

⚫ Dynamic Routes


- create-react-app에서 react-router-dom을 사용할 때는 "/movies/:id: 이런 식으로 사용했었다.

  Next.js에는 다른 방법이 있다.(Next.js에는 router가 없기 때문)

 

- router를 설정하거나 그런 거 없이 폴더랑 파일의 이름만으로 route를 구성한다.

  파일 이름을 [id].js 이런 식으로 대괄호 안에 route에서 사용될 변수명을 넣어주면 된다.

 

- 해당 변수명은 useRouter()의 query 안에 들어있다.

  대괄호 안에 ...을 추가하여 모든 경로를 포착하도록 Dynamic Routes를 확장할 수 있다.

  page/movies/[...id].js는 /movies/1과 일치하지만, /movies/1/2/3, /movies/1/ab/cd 등과도 일치한다.

 

- router가 두 번 console.log 되는 이유?

  처음에는 react.js가 로딩되지 않았을 때의 페이지를 렌더링 하는데, 이 때 router.query는 {} 빈 객체이다.

  react.js가 로드 되어서 query값이 업데이트 되면 react.js가 상태 변화를 감지하고,재렌더링한다.

 

  이 때문에 console.log가 2번 실행되는 것이다.(router.isReady를 체크하면 한 번만 console.log 할 수 있다)

'♠️ Next.js 12' 카테고리의 다른 글

Next.js 12 - API Routes  (0) 2025.05.26
Next.js 12 - 시작하기  (2) 2025.05.26
Next.js 12 - getServerSideProps  (0) 2025.03.10
Next.js 12 - public dir, API key 숨기기(redirects, rewrites)  (0) 2025.03.10
Next.js 12 - Layout, Head component  (0) 2025.03.10
'♠️ Next.js 12' 카테고리의 다른 글
  • Next.js 12 - API Routes
  • Next.js 12 - 시작하기
  • Next.js 12 - getServerSideProps
  • Next.js 12 - public dir, API key 숨기기(redirects, rewrites)
j2yonghwa
j2yonghwa
Trying to be a fullstack developer 🚀
  • j2yonghwa
    j2yonghwa
    j2yonghwa
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • ⏰ Daily WakaTime (1)
      • 🏖️ 노마드코더 (2)
      • 🍺 Dev Setup (3)
      • 🔭 Tech Info (1)
      • 🚫 Error (1)
      • 📂 라이브러리 (23)
      • ♣️ Next.js 14 (10)
      • ♠️ Next.js 12 (20)
      • 🛸 React Native (12)
      • 🦋 TypeScript (1)
      • 🐍 Python (2)
      • 🌊 TailwindCSS (4)
      • 🧩 SQL (25)
      • 💎 Prisma (5)
      • 🌱 MongoDB (4)
      • 🎯 Redis (1)
      • 🧬 GraphQL (2)
      • 🔥 Firebase (7)
      • 💸 Third-Party Services (2)
      • 🕸️ Web (1)
      • 🏆 코딩테스트 (23)
      • 📙 모딥다 (5)
      • 📗 코테 합격자 되기 -JS- (0)
      • 📘 클린코드 (0)
      • 🍯 꿀팁 🐝 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃헙
  • 공지사항

  • 인기 글

  • 태그

    자바스크립트
    코딩테스트 입문
    tailwindcss
    react router
    Python
    모딥다
    SQL
    PostgreSQL
    mongoDB
    라이브러리
    Firebase
    dev setup
    0레벨
    Next.js
    MySQL
    Prisma
    API
    React Native
    next.js 14
    next.js 12
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
j2yonghwa
Next.js 12 - Dynamic Routes
상단으로

티스토리툴바