PAGE ROUTING
라우팅은 무엇인가?
페이지 라우팅이란 무엇인가?
그런데 리액트는
CSR (client side rendering)
이라고 부른다!라우터 사용법
npm install react-router-dom
import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
사용할 리액트 라우터를 임포트 하기
BrowserRouter as Router: 브라우저에서의 라우팅을 위한 컴포넌트.
Route: 어떤 경로에 어떤 컴포넌트를 렌더링할지 정의한다.
Switch: 여러 Route 중 경로가 일치하는 첫 번째 Route만을 렌더링하게 도와줌.
Link: 페이지를 새로고침하지 않고 경로를 변경.
import Home from "./Home"
function Home() {
return <h2>홈 페이지</h2>;
}
function About() {
return <h2>소개 페이지</h2>;
}
function Users() {
return <h2>사용자 페이지</h2>;
}
함수로 되어있지만 홈, 소개, 사용자가 각각 페이지 컴포라고 했을때 메인(ex.App.jsx)페이지에 임포트 해줌.
function App() {
return (
<Router>
<div>
{/* 네비게이션 */}
<nav>
<ul>
<li>
<Link to="/">홈</Link>
</li>
<li>
<Link to="/about">소개</Link>
</li>
<li>
<Link to="/users">사용자</Link>
</li>
</ul>
</nav>
{/* 라우트 설정 */}
<Switch>
<Route path="/" exact component={Home} />
<Route path="/about" component={About} />
<Route path="/users" component={Users} />
</Switch>
</div>
</Router>
);
}
export default App;
리액트 라우터 에서는 페이지 관련한 여러가지 기능들이 있는데
사용법이 아주 간단하므로 한번 익혀두면 안 까먹고 쓸 수 있다.
다만 아예 처음 사용할때는 컴포넌트 분리하는 구조가 좀 헷갈릴 수 있다.
근데 이것도 개발하는 사람마다의 성향에 따라 조금 차이가 있는 듯 하여, 어떤 교과서적인 방법이 있는 건 아닌듯 하다..
이래서 더 헷갈리나? ㅜㅜ