[리액트] - Router활용

kang gicheon·2023년 7월 28일

React

목록 보기
6/10
post-thumbnail

리액트에서 각 페이지를 나누는 기능을 구현할때 사용하는 라이브러리인 router-dom을 배워보겠습니다. 기존 방식(html, css, js)이라면 html 파일 여러개를 제작하여 이용하지만
리액트에서는 html파일을 하나만 사용합니다.

router 설치 방식

VSC 터미널을 이용하여 라이브러리를 설치합니다
명령어는 아래와 같습니다.

yarn add react-router-dom

or

npm install react-router-dom

Router 라이브러를 사용하기 위한 셋팅

설치한 리액트앱에서 index.js로 들어간 후

(...)
import { BrowserRouter } from "react-router-dom";

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
      <BrowserRouter>
        <App />
      </BrowserRouter>
  </React.StrictMode>
); 

import {BrowserRouter} from "react-router-dom"을 이용하여 임포트 시킨 후

<APP/><BrowserRouter> 태그로 감싸 셋팅을 완료합니다

라우터로 페이지 나누기

import { Routes, Route, Link } from 'react-router-dom'

우선 리액트앱 -> App.js에서 라이브러리 사용을 위한 import를 우선 해줍니다

  • 상단에 Routes, Route, Link 컴포넌트를 import 시켜줍니다
  • Routes 태그를 먼저 생성하고 그 안에 Route를 작성합니다.

    Route path="/url경로" element={ <보여줄html> } /

    이런 식으로 코드를 작성하여 이용합니다

    ex) 메인페이지의 경우

    Route path="/u" element={ <div>메인페이지<div> } /

    이렇게 메인페이지를 작성 할 수 있습니다.

    일반적으로 사용자가 사이트를 이용하는 경우 사이트의 URL을 수정해서 사용하지 않습니다,
    웹페이지 제작할시 특정 페이지를 이동하는 링크를 이용하기 때문에 따로 만들어 줄 필요가 있습니다.

  • Router-dom에서 Link 컴포넌트를 import 시켜줍니다.
  • import를 시켜줬다면 링크를 넣고자 하는 위치에 Link 태그를 넣어 사용합니다.

    <Link to="/"></Link>
    <Link to="/detail">상세페이지</Link>

    이런 식으로 각각의 URL 경로로 이동하는 링크를 생성할 수 있습니다.

  • profile
    느리지만 깊게 개발을 공부합니다

    1개의 댓글

    comment-user-thumbnail
    2023년 7월 28일

    좋은 정보 감사합니다

    답글 달기