- Switch
- 여러 route 중 순서대로 먼저 맞는 하나만 보여줌
- exact를 뺄 수 있는 로직을 만들 수 있음
- 가장 마지막에 어떠한 path에도 맞지않으면 보여지는 컴포넌트를 설정해 'not found' 페이지 설정 가능
- app.js
: switch 내에서 순서대로 맞는 것을 찾아감
=> exact를 써주지 않아도 순서대로 찾아가게 됨
=> switch 내에서 순서대로 적어줘야함
* / -> root는 다 걸릴 수 있기 때문에 exact를 써줘야함
import './App.css';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import Home from "./pages/Home"
import Profile from './pages/Profile';
import About from './pages/About';
import NotFound from './pages/NotFound';
function App() {
return (
//이 순서대로 하면 exact 사용 안해도 됨
<BrowserRouter>
<Switch>
<Route path="/profile/:id" component={Profile}></Route>
<Route path="/profile" component={Profile}></Route>
<Route path="/about" component={About}></Route>
<Route path="/" exact component={Home}></Route>
<Route component={NotFound}/>
</Switch>
</BrowserRouter>
);
}
export default App;
- NotFound 구현
- notfound.jsx
export default function NotFound(){
return <div>페이지를 찾을 수 없습니다.</div>
}
- 맞지 않는 것들은 모두 NotFound 로 들어감
'React' 카테고리의 다른 글
React - Redirect, Style Loaders, css, sass, styled components (0) | 2021.10.21 |
---|---|
React - JSX / JS 링크로 라우팅 이동하기 (4) | 2021.09.27 |
React - 라우팅 , dynamic routing (0) | 2021.09.19 |
React - ESLint , Prettier, husky, lint-staged (0) | 2021.09.12 |
React - props & state & event handling (0) | 2021.09.08 |