Github 웹 호스팅 페이지
[ wlwlsus.github.io/react-study-app ]
리액트에서 많이 쓰이는 라우터 라이브러리 이다.
SPA(Single Page Application)방식으로 새로운 페이지를 로드하지 않고 하나의 페이지 안에서 필요한 데이터만 가져오는 형태를 가진다.
사용자가 입력한 주소를 감지하는 역할을 하며, 여러 환경에서 동작할 수 있도록 여러 종류의 라우터 컴포넌트를 제공한다.
BrowserRouter
HashRouter :
npm
npm install react-router-dom
yarn
yarn add react-router-dom
import { BrowserRouter as Router, Route, Routes } from "react-router-dom";
import Detail from "./routes/Detail";
import Home from "./routes/Home";
function App() {
return (
<Router>
<Routes>
<Route path={`${process.env.PUBLIC_URL}/`} element={<Home />}></Route>
<Route path="/movie/:id" element={<Detail />}></Route>
</Routes>
</Router>
);
}
'/' 로 이동하면 Home.js를 렌더링하고
'/movie/{아이디 값}'로 이동하면 Detail.js 를 렌더링한다.
웹 페이지에서 링크를 보여줄 때 a 태그를 사용한다. 하지만 a 태그는 클릭 시 페이지를 불러 오기 때문에 사용하지 않는다.
그래서 Link 컴포넌트를 사용하는데, 생김새는 a 태그를 사용하지만, History API를 통해 브라우저 주소의 경우로만 바꾸는 기능이 내장되어 있다.
import NotFound from './NotFound';
...
<Route path="*" element={< NotFound />}>< /Route>
"deploy": "gh-pages -d build",
"predeploy": "npm run build"
"homepage": "https://Github닉네임.github.io/프로젝트명"
설정 값에 넣어둔 'npm run build'와 'gh-pages -d build'가 실행되고
약 2 ~ 5분 동안 기다리면 배포가 된다.
출처
노마드코더 : React로 영화 정보 API 웹 페이지 구현
갓대희님 포스팅 : 라우팅에 대한 자료와 코드
https://wonit.tistory.com/299
https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%8C%85