[Next.js] Routing 사용 방법Frontend/Next.js2023. 3. 6. 13:19
Table of Contents
반응형
Next.js에서 Rouing 하는 방법에 대해 알아보겠습니다.
a
태그 사용
<a>
태그를 사용해서 페이지 이동을 할 수 있습니다. 하지만 페이지 이동 시 전체 페이지 새고로침이 되는 문제가 발생했습니다.
export default function NavBar() {
return (
<nav>
<a href="/">Home</a>
<a href="/about">About Us</a>
</nav>
);
}
Link 사용
single-page app 환경의 페이지 전환을 하려면 Link
컴포넌트를 사용해야 합니다.
import Link from 'next/link';
export default function NavBar() {
return (
<nav>
<Link href="/">Home</Link>
<Link href="/about">About Us</Link>
</nav>
);
}
useRouter()
컴포넌트에서 router 객체 내부에 접근하려면 userRouter()
hook 을 사용할 수 있습니다.
useRouter는 React Hook입니다. 즉, 클래스와 함께 사용할 수 없습니다. withRouter를 사용하거나 클래스를 함수 컴포넌트로 래핑 할 수 있습니다.
import Link from 'next/link';
import { useRouter } from 'next/router';
export default function NavBar() {
const router = useRouter();
return (
<nav>
<Link href="/">
<span style={{ color: router.pathname === '/' ? 'red' : 'blue' }}>Home</span>
</Link>
<Link href="/about">
<span style={{ color: router.pathname === '/about' ? 'red' : 'blue' }}>About Us</span>
</Link>
</nav>
);
}
useRouter()
hook 을 사용해서 메뉴의 색상을 변경하는 예제입니다.
참고
반응형
'Frontend > Next.js' 카테고리의 다른 글
[Next.js] Dynamic Routes 사용 방법 (0) | 2023.03.26 |
---|---|
[Next.js] Redirect and Rewrite (0) | 2023.03.20 |
[Next.js] Head 사용 방법 (0) | 2023.03.15 |
[Next.js] Styles 사용 방법 (0) | 2023.03.11 |
[Next.js] 프로젝트 생성 및 시작 방법 (0) | 2023.03.02 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!