Next.js
Next.js 라우팅 (3)
알럽유
2024. 2. 28. 00:41
728x90
Next.js에서 페이지 생성 및 라우팅하기
1. 페이지 생성하기
Next.js에서는 URL을 이용하여 페이지를 구분합니다. 예를 들어, '/list'로 접속하면 상품 목록 페이지를 보여주는 식으로 설정할 수 있습니다. 이를 위해 다음의 단계를 따릅니다:
- 'app' 폴더 안에 새 폴더를 만듭니다. 이 폴더의 이름은 원하는 URL의 일부가 됩니다.
- 새로 만든 폴더 안에 'page.js' 파일을 만들고, 이 파일 안에 HTML을 작성합니다.
예를 들어, '/list' URL로 접속했을 때 상품 목록 페이지를 보여주고 싶다면, 'app' 폴더 안에 'list'라는 폴더를 만들고, 그 안에 'page.js' 파일을 만들어 상품 목록 HTML을 넣으면 됩니다.
2. Navbar 생성하기
웹 페이지 상단의 메뉴를 Navbar라고 부릅니다. 이 Navbar를 만들기 위해, 'globals.css'에 다음과 같이 스타일을 추가합니다.
.navbar {
background: white;
padding: 20px;
}
.navbar a {
margin-right: 10px;
text-decoration: none;
}
그리고 메인 페이지의 'page.js' 파일에 다음과 같이 코드를 추가합니다.
import Link from "next/link";
export default function Home() {
return (
<main>
<div className="navbar">
<Link href="/">home</Link>
<Link href="/list">list페이지</Link>
</div>
<h1 className="title">Programming Log</h1>
<p className="title-sub">by dev kim</p>
</main>
)
}
3. 중복되는 HTML 처리하기
각 페이지마다 반복적으로 보여줘야 하는 HTML UI가 있다면, 'layout.js' 파일에 작성하여 중복을 제거할 수 있습니다. Next.js는 'page.js'를 보여줄 때 'layout.js' 파일이 있다면, 'layout.js' 내용 안에 'page.js' 내용을 담아서 보여줍니다.
예를 들어, 모든 페이지에서 보여줘야 하는 Navbar를 'layout.js' 파일에 작성하면, 각 'page.js' 파일에서는 Navbar를 따로 작성할 필요가 없습니다.