오늘은 CRA로 리액트 프로젝트를 생성하면 기본적으로 사용하는 React Router DOM을 정리하려고 한다.
우선 React Router DOM을 정리하기 전에 Routing에 대한 설명을 보자.
라우팅은 기본적으로 네트워크에서 경로를 선택하는 과정을 말하는데, 쉽게 설명해서 페이지에 맞게 주소를 맞춰주는 과정이라 생각하면 된다.
React에서는 SPA로 페이지를 이동 시 전체 새로고침을 하지 않는다.
여기서 SPA란 Single Page Application의 약자로 하나의 HTML 페이지에서 모든 콘텐츠를 동적으로 로드하고, 페이지 이동 없이 웹 애플리케이션을 제공하는 방식이다. 이러한 과정에서 사용자가 페이지를 이동할 때 전체 페이지를 새로고침하지 않고, 필요한 데이터만 서버에서 가져와 렌더링 하여 더 빠르고 부드럽게 페이지를 이동한다.
React Router DOM을 사용하면 URL 경로를 관리하면서도 필요한 컴포넌트만 업데이트하여 부드러운 사용자 경험을 제공한다.
function App = () => {
return (
<Routes>
<Route path="/" element={<Home />} />
<Route path="/project" element={<Project />} />
<Route path="/contact" element={<Contact />} />
</Routes>
);
}
페이지의 경로와 그의 맞는 컴포넌트를 매핑을 담당한다.
element 속성으로 컴포넌트를 렌더링 한다.
Route는 Routes 안에서 사용되어야 한다.
오늘은 간단하게 라우팅 관련 컴포넌트 들을 정리해 보았다.
처음 이 내용을 정리하기로 마음먹은 이유는 내 프로젝트를 배포했을 때 BrowserRouter로 배포를 해서 다른 페이지로 가서 새로고침하면 404 에러가 발생하는 경우를 볼 수 있었다.
이러한 오류를 수정하기 위해 하나 둘 찾아보다 보니 공부해야 하는 부분이 계속 늘어나는 것 같다.