티스토리 뷰
✅ 네비게이팅 (Navigating)
일반적인 HTML문서에서 페이지를 이동하고 싶을 때는 a태그를 이용하여 페이지를 이동한다.
Next.js의 페이지 이동은 클라이언트 사이드 렌더링 방식으로 이루어지는데
a태그는 서버에게 매번 새로운 페이지를 요청하기 때문에 클라이언트 사이드에서 원하는 페이지 이동 방식이 아니다.
따라서, Next.js가 제공하는 Link 컴포넌트를 사용하여 페이지 이동을 구현할 수 있다.
// _app.tsx
import "@/styles/globals.css";
import type { AppProps } from "next/app";
import Link from "next/link";
export default function App({ Component, pageProps }: AppProps) {
return (
<>
<header>
<Link href={"/"}>index</Link>
<Link href={"/search"}>search</Link>
<Link href={"/book/1"}>book/1</Link>
</header>
<Component {...pageProps} />
</>
);
}
만약, Link 컴포넌트를 이용해 페이지를 이동하는 것이 아닌 어떤 함수가 실행되거나
이벤트가 발생했을 때 페이지를 이동시키고 싶다면 router.push()를 사용해서 구현할 수 있다.
// _app.tsx
import "@/styles/globals.css";
import type { AppProps } from "next/app";
import Link from "next/link";
import { useRouter } from "next/router";
export default function App({ Component, pageProps }: AppProps) {
const router = useRouter();
const onClickButton = () => {
router.push("/test");
};
return (
<>
<header>
<Link href={"/"}>index</Link>
<Link href={"/search"}>search</Link>
<Link href={"/book/1"}>book/1</Link>
<div>
<button onClick={onClickButton}>/test 페이지로 이동</button>
</div>
</header>
<Component {...pageProps} />
</>
);
}
참고자료
반응형
'개발공부 > ⬛ Next.js' 카테고리의 다른 글
[Next.js] 스타일링 (2) | 2024.09.07 |
---|---|
[Next.js] 프리페칭 (Pre-fetching) (0) | 2024.09.04 |
[Next.js] Pages Router 방식으로 라우팅 설정하기 (0) | 2024.09.03 |
[Next.js] 사전 렌더링 이해하기 (0) | 2024.08.30 |
[Next.js 14] Parallel Requests (1) | 2024.07.10 |
개발자 삐롱히
프론트엔드 개발자 삐롱히의 개발 & 공부 기록 블로그