리액트 라우터(React Router)는 리액트 애플리케이션에서 라우팅을 관리하기 위한 유용한 라이브러리입니다. 그리고 Next.js는 리액트 애플리케이션을 쉽게 서버 사이드 렌더링할 수 있도록 도와주는 프레임워크입니다. 이 두 가지를 결합하여 더 나은 사용자 경험을 제공할 수 있습니다. 이번 글에서는 리액트 라우터와 Next.js를 함께 사용하는 방법을 알아보겠습니다.
1. Next.js 설치하기
먼저, Next.js를 설치해야 합니다. 다음 명령어를 사용하여 Next.js를 프로젝트에 추가합니다:
npm install next react react-dom
2. Next.js 프로젝트 생성하기
Next.js를 설치한 후, 새로운 Next.js 프로젝트를 생성합니다. 터미널에서 다음을 실행합니다:
npx create-next-app
프로젝트 생성 시에는 여러 설정을 선택할 수 있습니다. 필요에 따라 설정 값을 선택하고 진행하세요.
3. 리액트 라우터 설치하기
Next.js 프로젝트가 생성되면, 리액트 라우터를 설치합니다. 다음 명령어를 실행합니다:
npm install react-router-dom
4. 라우트 설정하기
라우팅을 사용하기 위해 필요한 라우트를 설정해야 합니다. pages
디렉토리 내에 각 페이지에 대한 컴포넌트를 생성합니다. 이때, react-router-dom
패키지의 BrowserRouter
와 Route
를 사용하여 라우트 구성을 설정합니다. 예를 들어, pages
디렉토리에 Home.js
와 About.js
라는 두 개의 컴포넌트를 생성하고 다음과 같이 설정할 수 있습니다:
pages/Home.js:
import React from 'react';
const Home = () => {
return (
<div>
<h1>Home</h1>
</div>
);
};
export default Home;
pages/About.js:
import React from 'react';
const About = () => {
return (
<div>
<h1>About</h1>
</div>
);
};
export default About;
pages/index.js:
import React from 'react';
import { BrowserRouter, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';
const App = () => {
return (
<BrowserRouter>
<Route path="/" exact component={Home} />
<Route path="/about" component={About} />
</BrowserRouter>
);
};
export default App;
위 설정에서 첫 번째 라우트는 /
경로에 대한 Home 컴포넌트를, 두 번째 라우트는 /about
경로에 대한 About 컴포넌트를 매핑합니다.
5. Next.js 애플리케이션 실행하기
설정이 끝나면 Next.js 애플리케이션을 실행할 수 있습니다. 터미널에서 다음 명령어를 실행합니다:
npm run dev
서버가 성공적으로 시작되면 localhost:3000
에서 애플리케이션을 볼 수 있습니다. 브라우저에서 /
또는 /about
경로로 접속하여 해당 컴포넌트를 확인할 수 있습니다.
결론
리액트 라우터와 Next.js를 결합하여 애플리케이션의 라우팅을 관리할 수 있습니다. 이 두 가지 기술을 함께 사용하면 클라이언트 사이드 라우팅과 서버 사이드 렌더링을 조합하여 보다 유연한 애플리케이션을 개발할 수 있습니다. 위에서 설명한 단계를 따라하면 리액트 라우터와 Next.js의 결합을 간단히 적용할 수 있습니다.
참고 문서: 리액트 라우터 공식 문서