리액트에서 각 페이지를 나누는 기능을 구현할때 사용하는 라이브러리인 router-dom을 배워보겠습니다. 기존 방식(html, css, js)이라면 html 파일 여러개를 제작하여 이용하지만
리액트에서는 html파일을 하나만 사용합니다.
VSC 터미널을 이용하여 라이브러리를 설치합니다
명령어는 아래와 같습니다.
yarn add react-router-dom
or
npm install react-router-dom
설치한 리액트앱에서 index.js로 들어간 후
(...)
import { BrowserRouter } from "react-router-dom";
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>
);
import {BrowserRouter} from "react-router-dom"을 이용하여 임포트 시킨 후
<APP/>를 <BrowserRouter> 태그로 감싸 셋팅을 완료합니다
import { Routes, Route, Link } from 'react-router-dom'
우선 리액트앱 -> App.js에서 라이브러리 사용을 위한 import를 우선 해줍니다
Route path="/url경로" element={ <보여줄html> } /
이런 식으로 코드를 작성하여 이용합니다
ex) 메인페이지의 경우
Route path="/u" element={ <div>메인페이지<div> } /
이렇게 메인페이지를 작성 할 수 있습니다.
일반적으로 사용자가 사이트를 이용하는 경우 사이트의 URL을 수정해서 사용하지 않습니다,
웹페이지 제작할시 특정 페이지를 이동하는 링크를 이용하기 때문에 따로 만들어 줄 필요가 있습니다.
<Link to="/">홈</Link>
<Link to="/detail">상세페이지</Link>
이런 식으로 각각의 URL 경로로 이동하는 링크를 생성할 수 있습니다.
좋은 정보 감사합니다