Next.js는 페이지 개념을 기반으로 라우팅을 제공합니다.
프로젝트 디렉토리 내 pages
디렉토리에 추가되면 해당 파일 이름을 경로로 사용합니다.
Next.js에서는 index
라는 파일 이름을 자동으로 디렉토리의 루트로 라우팅합니다.
pages/index.js
-> /
pages/blog/index.js
-> /blog
Next.js에서는 중첩 파일을 지원합니다.
중첩된 폴더 구조에서도 라우팅이 가능합니다.
pages/blog/first-post.js
-> /blog/first-post
pages/dashboard/settings/username.js
-> pages/dashboard/settings/username
동적 세그먼트 일치를 위해 대괄호를 사용할 수 있습니다.
pages/blog/[slug].js
→ /blog/:slug
pages/post/[...all].js
→ /post/*
(/post/2022/id/title
)
Next.js에서 router 객체에 접근하려면 useRouter
라는 훅을 이용할 수 있습니다.
이는 push, replace, prefetch, beforePopState, back, reload, events
를 지원합니다.
이에 대한 자세한 내용은 공식문서에 정리되어 있습니다.