여러 페이지를 만들고 싶다면 라우터 를 이용한다.
공식 라이브러리인
을 사용한다.
npm install react-router-dom@5
혹은 yarn add react-router-dom@5
설치하기import 어쩌구 많은곳;
import { BrowserRouter } from 'react-router-dom';
ReactDOM.render(
<React.StrictMode>
<BrowserRouter>
<App/>
</BrowserRouter>
</React.StrictMode>
document.getElementById('root')
);
입력해준다.Browser 단어 대신 Hash로 모두 바꿔주면 되며,
<BrowserRouter>
말고<HashRouter>
태그도 이용할 수 있다.
import { Link, Route, Switch } from 'react-router-dom';
<Route><Route/>
태그를 작성해준다.<Route>
안에 path와, path방문시 보여줄 HTML을 작성한다.import 많은 곳;
import { Link, Route, Switch } from 'react-router-dom';
function App(){
return (
<div>
어쩌구저쩌구
<Route path="/">
<div>메인페이지</div>
</Route>
<Route path="/detail">
<div>디테일페이지</div>
</Route>
</div>
)
}
또한
<Route path="/어쩌구" component={Card} ></Route>
또는
<Route path="/어쩌구"> <Card/> </Route>
위와 같이 컴포넌트를 넣어줄 수도 있다.
/detail 이라고 해도 메인 페이지도 보이는 이유는?
/detail 에는 / 라는 경로도 포함되어 있기 때문이다.
이러한 상황을 방지하려면 exact 라는 속성 사용한다.
<Route exact path="/">
<div>메인페이지</div>
</Route>