react-router-dom v6

한신웅·2022년 1월 16일
0

react

목록 보기
1/5
post-thumbnail

설치

npm install react-router-dom

또는

yarn add react-router-dom

사용 방법

BrowserRoute

import React from 'react';
import { BrowserRouter } from 'react-router-dom';
import Login from './Login';
import Main from './Main';

function Router() {
  return (
    <BrowserRouter>
      <Login />
      <Main />
    </BrowserRouter>
  );
}

export default Router;
  • BrowserRouter를 import한다.
  • 그리고 link를 나눌 컴포넌트를 감싼다.

Routes

import React from 'react';
import { BrowserRouter, Routes } from 'react-router-dom';
import Login from './Login';
import Main from './Main';

function Router() {
  return (
    <BrowserRouter>
      <Routes>
         <Login />
         <Main />
      </Routes>
    </BrowserRouter>
  );
}

export default Router;
  • Routes를 import하고 컴포넌트를 한번 더 감싼다.

Route

import React from 'react';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Login from './Login';
import Main from './Main';

function Router() {
  return (
    <BrowserRouter>
      <Routes>
      	 <Route link="/" element={<Login />} />
      	 <Route link="/main" element={<Main />} />
      </Routes>
    </BrowserRouter>
  );
}

export default Router;
  • Route를 import한다.
  • link에는 주소, element에는 해당 링크에 보여줄 컴포넌트를 입력한다.
  • 참고로 Route는 중첩이 가능하다.

useNavigate

import React from 'react';
import { useNavigate } from 'react-router-dom';

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

  const goToMain = () => {
    navigate('/main');
  };

  return <button onClick={goToMain}> 메인으로 </button>
};

export default Login;
  • useNavigate를 import한다.
  • navigate에 useNavigate()를 할당한다. (navigate도 함수)
  • 버튼을 클릭할 때 실행 할 함수를 선언한다.
  • navigate()에 이동할 링크를 넣는다.
  • 참고) navigate(-1) : 한단계 뒤로
profile
genius🚀

0개의 댓글