이 글 공유하기

이메일FacebookRedditWhatsApp

React Router 기초 정리

#react#react-router#dev
목차 · 3개 항목

라우터(router)란 뭘까?

사용자가 /cart 로 들어갔을 때 <Cart /> 화면이 나오는 것

<Routes>
  <Route path="/" element={<Home />} />
  <Route path="/products" element={<Products />} />
  <Route path="/cart" element={<Cart />} />
</Routes>

라우팅 = 주소(URL) ↔ 페이지(화면)를 연결하는 것

  • Link = 사용자가 클릭해서 이동
  • useNavigate = 코드가 강제로 이동
  • useParams = 현재 URL에 들어있는 값을 꺼냄

HTML의 <a> 태그와 비슷하다.

import { Link } from "react-router";

function Header() {
  return (
    <nav>
      <Link to="/"> Home </Link>
      <Link to="/product"> Product </Link>
      <Link to="/cart"> Cart </Link>
    </nav>
  );
}

사용자가 Product 를 클릭하면 /product 페이지로 이동한다.

일반적으로 브라우저 전체 페이지를 새로 로드하지 않고 client-side routing으로 이동하게 해준다.

2. useNavigate

Link는 사람이 클릭해야한다면, useNavigate는 자동으로 페이지를 이동시켜줄 때 사용한다.

import { useNavigate } from "react-router";

function Login() {
  const navigate = useNavigate();

  const handleLogin = () => {
    // 로그인 처리

    navigate("/");
  };

  return <button onClick={handleLogin}> Login </button>;
}

※ useNavigate(-1);은 뒤로가기와 같다.