// 라우팅, Routing
- 페이지 간의 이동
- 경로명은 파일명과 일치한다.
▪ index.js 파일은 일반적으로 root page 역할을 한다.('/')
▪ index.js 파일을 제외하고 다른 파일 이름은 경로 이름으로 사용된다.
- pages 하위의 index.js > /
- pages 하위의 news.js > /news
- 중첩 경로는 디렉토리를 생성하하여 디렉토리명/파일명으로 경로가 사용된다.
- pages 하위의 news 하위의 index.js > /news
- pages 하위의 news 하위의 edit.js > /news/edit
// 동적 라우팅
- 파일명에 [] 를 사용하면 동적 페이지로 사용된다.
- pages 하위의 news 하위의 [newsID].js
import { useRouter } from 'next/router';
const router = useRouter();
const 변수명 = router.query.파일식별자명;
- useRouter hook을 통해 경로의 params를 받을 수 있다.
- 별도의 hook을 사용하지 않고 props.params를 통해서도 경로의 params를 받을 수 있다. (searchParams도!!)
// 페이지 이동
import Link from 'next/link';
<Link href="경로"></Link>
- SPA를 구현하기 위해서는 일반 a 태그가 아닌 Link 를 활용해야 한다.
import Link from 'next/link';
function NewsPage() {
return (
<>
<h1>The News Page</h1>
<ul>
<li>
<Link href="/news/nextjs-is-a-great-framework">
NextJS Is A Great Framework
</Link>
</li>
<li>
<Link href="/news/something-else">Something Else</Link>
</li>
</ul>
</>
);
}
export default NewsPage;
- 프로그래밍적으로 경로를 변경하려면 useRouter hook을 사용한다.
const router = useRouter();
router.push('경로');
'클라이언트 > Next.js' 카테고리의 다른 글
[Next.js] 배포(Deploying) (0) | 2024.03.04 |
---|---|
[Next.js] Metadata title 추가하기 (0) | 2024.03.03 |
[Next.js] API 라우터 (API Router) (0) | 2024.02.29 |
[Next.js] 사전 렌더링 시 데이터 가져오기 (0) | 2024.02.27 |
[Next.js] Next.js란? (0) | 2024.02.25 |