라우팅
1. 라우팅 개념, react-router-dom 깔기
2. route 기본 형태
3. react-router-dom 사용하기
4. 라우트 사용 구조 분석
5. 서브 라우트 구현하기
1. 라우팅
$ npm install react-router-dom
2. route 기본 형태
function App() {
return (
<BrowserRouter basename="comento-shop">
<Routes>
<Route path="/" element={<Home />} />
<Route path="/product/:productId" element={<ProductDetail />} />
<Route path="/basket" element={<Basket />} />
</Routes>
</BrowserRouter>
);
}
const Home = () => {
return <div> 홈 </div>;
};
export default Home;
3. react-router-dom 사용하기
const navigate = useNavigate()
return (
<div>
<button
onClick ={()=>{
navigate("/");
}}
>
Home
</button>
<button
onClick ={()=>{
navigate(-1);
}}
>
Home
</button>
<button
onClick ={()=>{
navigate('/posts/2');
}}
>
Home
</button>
Link
상대 경로 사용 : 현재 위치에 기반하여 설정to=""
: 현재 위치 이동to="about"
: 현재위치/about
이동to="/about"
: /
를 붙이면 /about
페이지로 이동<Link to="">1 </Link>
4. 라우트 사용 구조 분석
path
속성, element
속성<Route path="/" element={<Home />} />
<Routes>
<Route path="/" element={<Home />} />
</Routes>
5. 서브 라우트 구현하기
function App() {
return (
<BrowserRouter basename="comento-shop">
<Routes>
<Route path="/" element={<Home />}>
<Route path="/product/:productId" element={<ProductDetail />} />
</Route>
<Route path="/basket" element={<Basket />} />
</Routes>
</BrowserRouter>
);
}
2) user Component
Outlet
을 원하는 곳에 붙이기const Home = () => {
return <div> 홈
<Link to="about">About</Link>
username
</Link>
<Outlet/>
</div>;
};
export default Home;