Github: https://github.com/yurim45/web-template
useRouter()
공식문서로 동적 라우팅 구현하기
[param]
)에 대괄호를 추가 하여 동적 경로를 생성 할 수 있다import React, { useState, useEffect } from 'react';
import type { NextPage } from 'next';
import { useRouter } from 'next/router';
const Product: NextPage = () => {
const route = useRouter();
const { id } = route.query;
console.log(route);
return <p>Product: {id}</p>
}
export default Product
Link
공식문서로
<Link href="/">
구현하기
Link
로 경로간의 이동이 가능하다.Link
의 propshref
: 탐색할 경로 또는 URL. 필수!href
를 안 적으면 에러난다as
: 브라우저 URL 표시줄에 표시될 경로를 입력. 선택 사항passHref
: href
property를 Link
자식에게 강제로 전달하게 한다. 기본값은 false
.prefetch
: 백그라운드에서 페이지를 미리 가져온다. 기본값은 true
. <Link />
뷰 포트에 있는 모든 항목(초기에 혹은 스크롤을 통해)이 미리 로드(정적 페이지를 만든다) 된다. prefetch = { false }
를 통해 prefetch
를 비활성화할 수 있다. replace
: history 스택(방문 기록)에 새 url
을 추가하는 대신 현재 상태를 변경한다. 기본값은 false
.scroll
: 페이지 전환 후 페이지 상단으로 스크롤할지 여부. 기본값은 true
.shallow
: getStaticProps
, getServerSideProps
, getInitialProps
을 다시 실행하지 않고 현재 경로를 업데이트. 기본값은 false
.import Link from 'next/link';
function Home() {
return (
<Link href={`/product/${item.id}`}>
<a>
<img alt={item.name} src={item.image_link} />
<strong className='title'>{item.name}</strong>
<div className='info'>
{item.category} {item.product_type}
</div>
<strong className='price'>${item.price}</strong>
</a>
</Link>
)
}