React. Router
// React-Router install
yarn add react-router-dom
// index.js setting
import { BrowserRouter } from 'react-router-dom';
(...)
ReactDOM.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>,
document.getElementById('root')
);
import { Route } from 'react-router-dom';
(...)
// exact 속성을 추가하면 경로가 정확히 일치할때만 보여준다.
<Route exact path="/">
</Route>
<Route path="/detail">
</Route>
Link는 클릭하면 다른 주소로 이동시키는 컴포넌트이다.
리액트 라우터를 사용할땐 일반 a 태그를 사용하시면 안된다.
import { Link } from 'react-router-dom';
(...)
<a href="/">Home<a/>
// 👇🏻👇🏻👇🏻
<Link to="/">Home</Link>
import { useHistory } from 'react-router-dom';
let history = useHistory();
history.goBack();
(...)
// push 함수 사용으로 페이지 이동가능
history.push('/');
Switch는 Route들을 묶는 역할을 수행합니다.
가장 먼저 path에 매치되는 Route에 연결시킵니다.
하나의 Route만 선택하기 때문에 중복 Route 방지한다.
import { Switch } from 'react-router-dom';
(...)
<Switch>
<Route exact path="/" component={Main} />
<Route path="/detail" component={Detail} />
<Route path="/:id">
<div>잘못된 페이지입니다.</div>
</Route>
</Switch>