[리액트] 멀티 페이지 구현하기 with react-router-dom
본 글은 node.js 17.8.0, react 17.0.2, react-router-dom 6.3.0 버전을 기준으로 작성되었습니다.
리액트는 SPA(Single Page Application)를 위한 라이브러리입니다.
하지만 많은 웹 앱은 여러 페이지가 필요합니다.
이럴 때 일반적인 정적 웹 사이트처럼 여러 페이지를 만들고 주소에 따라 다른 페이지를 불러올 수도 있지만 이 경우 다른 페이지로 갈 때마다 웹 서버에서 웹페이지를 요청해야 한다는 단점이 있습니다.
리액트 라이브러리 중에는 여러 페이지를 만들고 주소에 따라 다른 페이지를 보여주면서도 웹 서버에서 웹페이지를 새로 요청하지 않아도 되게 해주는 라이브러리가 있습니다. 바로 제목에도 나와있는 react-router-dom
입니다.
1. react-router-dom이란?
react-router-dom은 주소의 sub url를 인식하여 웹 서버에 별도의 페이지 요청 없이 sub url에 맞는 컴포넌트를 보여주는 라이브러리입니다.
react-router 라이브러리를 기반으로 제작되었으며, react-router 라이브러리는 웹과 앱 모두에서 사용 가능합니다.
2. react-router-dom 설치하기
- npm을 사용할 경우
npm i react-router-dom
- yarn을 사용할 경우
yarn add react-router-dom
3. react-router-dom 사용하기
react-router-dom에서 사용할 수 있는 라우터는 BrowserRouter와 HashRouter입니다.
BrowserRouter는 일반적인 라우터로 일반적인 sub url을 지원합니다.
HashRouter는 sub url 앞에 /#/이 첨가되는 라우터로 브라우저나 웹 서버의 제약으로 url에 파일의 확장자가 존재해야 하는 경우(예: https://localhost/index.html)를 지원합니다.
url에 파일의 확장자가 존재해야 하는 경우가 아니라면 BrowserRouter를 사용하면 됩니다.
sub url에 따라 다른 컴포넌트를 출력해야 할 곳에 아래와 같이 코드를 작성합니다.
<BrowserRouter>
<Routes>
<Route exact path='/' element={Main} />
</Routes>
</BrowserRouter>
Author And Source
이 문제에 관하여([리액트] 멀티 페이지 구현하기 with react-router-dom), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gyodaesaeng/리액트-멀티-페이지-구현하기-with-react-router-dom저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)