HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
💌
JJong’s Archive
/
Dynamic Routes

Dynamic Routes

생성 일시
Nov 18, 2024 10:08 PM
  • /movie/123?region=kr 처럼 동적 라우팅을 하는 법!
  • react router ⇒ /movie/:id
 

NextJS의 동적 라우팅

  1. 폴더 이름을 중괄호([])로 묶어서 생성 후, page를 작성
  1. props는 모든 컴포넌트에서 받을 수 있는데, 동적 params, searchParams도 여기 안에 있음
      • searchParams ⇒ 주소창에 ?region=kr 형태로 덧붙이면 자동으로 넘어옴
notion image
  1. 받은 params를 컴포넌트 내에서 쓸 수 있음
    1. export default function Movies({ params, searchParams }) { return params.id + searchParams.region; }
      js
      export default function Movies({ params: { id }, searchParams: { region }, }: { params: { id: string }; searchParams: { region: string }; }) { return id + region; }
      ts
 

주의 (Next 15~)

동적 라우팅에서 params가 비동기적. 따라서 await을 해줘야 한다
해결방법 1)
npx @next/codemod@canary next-async-request-api
 
방법2)
async function Page({ params }) { // asynchronous access of `params.id`. const { id } = await params return <p>ID: {id}</p> }