React Router Dom이란?
- React Router Dom을 사용하면 웹 앱에서 동적 구현을 할 수 있습니다.
- 라우팅이 실행 중인 앱 외부의 구성에서 처리되는 기존 라우팅 아키텍처와 달리 React Router Dom은 앱 및 플랫폼의 요구사항에 따라 컴포넌트 기반 라우팅을 용이하게 합니다.
Single Page Application (SPA)
- 리액트는 SPA이기 때문에 하나의 index.html 템플릿 파일을 가지고있습니다.
- 이 하나의 템플릿에 JS를 이용하여 다른 컴포넌트를 index.html 템플릿에 넣으므로 페이지를 변경해줍니다.
- 이 때 React Router Dom 라이브러리가 새 컴포넌트로 라우팅/탐색을 하고 렌더링하는데 도움을 주게 됩니다.
React Router Dom 설치하기
npm install react-router-dom --save
yarn add react-router-dom
React Router 설정하기
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
import { BrowserRouter } from 'react-router-dom';
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById('root')
);
여러 컴포넌트 생성 및 라우트 정의하기
function App() {
return (
<div className="App">
<Routes>
<Route path="/" element={ <Home /> } />
<Route path="about" element={ <About /> } />
<Route path="contact" element={ <Contact /> } />
</Routes>
</div>
)
}
function Contact() {
return (
<div>
<h1>Contact Page</h1>
</div>
)
}
function About() {
return (
<div>
<h1>About Page</h1>
</div>
)
}
function Home() {
return (
<div>
<h1>Home Page</h1>
</div>
);
}
Link를 이용해 경로를 이동하기
import { Link } from 'react-router-dom';
function Home() {
return (
<div>
<h1>홈페이지</h1>
<Link to="about">About 페이지를 보여주기</Link>
<Link to="contact">Contact 페이지를 보여주기</Link>
</div>
);
}