[React] React-Router-Dom - (1) 소개 및 설치

안셩·2024년 8월 23일

복습내용

목록 보기
14/27

1. react-router-dom

: 페이지 이동을 구현할 수 있게 해주는 패키지

1) 패키지 설치

yarn add react-router-dom

2) 페이지 컴포넌트 생성

src 폴더 안에 pages 폴더를 만들고, 그 안에 필요한 여러 페이지를 jsx파일로 만든다.

3) Router.js 생성 및 route 설정 코드 작성

  • src 폴더 안에 shared 라는 폴더를 생성해주고, 그 안에 Router.jxs 파일을 생성
import React from "react";
// 1. react-router-dom을 사용하기 위해서 아래 API들을 import 합니다.
import { BrowserRouter, Route, Routes } from "react-router-dom";
import Home from "../pages/Home";
import About from "../pages/About";
import Contact from "../pages/Contact";
import Works from "../pages/Works";

// 2. Router 라는 함수를 만들고 아래와 같이 작성합니다.
//BrowserRouter를 Router로 감싸는 이유는, 
//SPA의 장점인 브라우저가 깜빡이지 않고 다른 페이지로 이동할 수 있게 만들어줍니다!
const Router = () => {
  return (
    <BrowserRouter>
      <Routes>
		{/* 3. Routes안에 이렇게 작성합니다. 
			Route에는 react-router-dom에서 지원하는 props들이 있습니다.
           	path는 우리가 흔히 말하는 사용하고싶은 "주소"를 넣어주면 됩니다.
			element는 해당 주소로 이동했을 때 보여주고자 하는 컴포넌트를 넣어줍니다.*/}
        <Route path="/" element={<Home />} />
        <Route path="about" element={<About />} />
        <Route path="contact" element={<Contact />} />
        <Route path="works" element={<Works />} />
      </Routes>
    </BrowserRouter>
  );
};

export default Router;

4) App.jsx에 'Router.jsx' import 해주기

import React from "react";
import Router from "./shared/Router";

function App() {
  return <Router />;
}

export default App;

Router.jsx를 다른 곳도 아닌 App 컴포넌트에 넣어주는 이유는 우리가 만든 프로젝트에서 가장 최상위에 존재하는 컴포넌트가 App.js 이기 때문!

profile
24.07.15 프론트엔드 개발 첫 걸음

0개의 댓글