[DAY - 79] router

2023. 6. 26. 21:07·🔥 부트캠프-웹 개발 🔥/React

router

router는 react에서 사용되는 라이브러리로 react로 만들어진 단일 페이지 앱(SPA)에서 사용된다.

html상에서 a 태그를 사용해 링크를 거는 것과 비슷하다고 생각된다.

 

https://reactrouter.com/en/6.14.0

 

Home v6.14.0

I'm on v5 The migration guide will help you migrate incrementally and keep shipping along the way. Or, do it all in one yolo commit! Either way, we've got you covered to start using the new features right away.

reactrouter.com

yarn add react-router-dom

 

router 라이브러리를 추가해 준다.

 

import React from 'react';
import { BrowserRouter, Routes, Route, Link } from "react-router-dom";
import Home from './pages/Home';
import About from './pages/About';
import Profile from './pages/Profile';
import Project from './pages/Project';

const App = () => {
  return (
    <>
      <BrowserRouter>
        <nav>
          <ul>
            <li><Link to="/">home</Link></li>
            <li><Link to="/about">about</Link></li>
            <li><Link to="/profile">profile</Link></li>
            <li><Link to="/project">project</Link></li>
          </ul>
        </nav>
        <Routes>
          <Route path='/' element={<Home />} />
          <Route path='about' element={<About />} />
          <Route path='profile' element={<Profile />} />
          <Route path='project' element={<Project />} />
        </Routes>
      </BrowserRouter>
    </>
  );
};

export default App;

 

우선 전체를 BrowserRouter 태그로 감싸 준 뒤 화면에 표시될 부분을 Routes로 묶어 준다.

그 뒤에 Route, path를 사용하면 원하는 컴포넌트를 출력할 수 있다.

 

home

 

위에 있는 Link to 태그를 클릭하면 해당 페이지가 주소에 추가되며 출력된다.

 

'🔥 부트캠프-웹 개발 🔥/React' 카테고리의 다른 글
  • [DAY - 81] #2 React-router clone-coding
  • [DAY - 80] #1 React-router clone-coding
  • [DAY - 78] #1 선수 정보 프로젝트
  • [DAY - 77] useReducer, 사용자정의 hook, 예제 React 변환
Yeonhub
Yeonhub
✨ https://github.com/yeonhub 📧 lsy3237@gmail.com
  • Yeonhub
    비 전공자의 Be developer
    Yeonhub
  • 전체
    오늘
    어제
    • 전체보기 (169)
      • 🔍 Tech 🔍 (19)
        • Front-End (11)
        • Back-End (4)
        • AI (1)
        • Server (1)
        • Etc (2)
      • 💡 원티드 프리온보딩 챌린지 💡 (14)
        • PRE-ONBOARDING_AI (11월) (1)
        • PRE-ONBOARDING_FE (2월) (2)
        • PRE-ONBOARDING_FE (1월) (2)
        • PRE-ONBOARDING_FE (12월) (9)
      • 🔥 부트캠프-웹 개발 🔥 (118)
        • HTML5 (7)
        • CSS3 (21)
        • JavaScript (27)
        • JavaScript_advanced (9)
        • React (24)
        • Next (1)
        • MYSql (5)
        • Node (5)
        • 오늘하날(개인프로젝트) (12)
        • 이젠제주투어(팀프로젝트) (7)
      • 💻 CS 💻 (1)
        • 알고리즘 (1)
      • ⚡ 코딩테스트 ⚡ (11)
        • JavaScript (11)
      • 📚 Books 📚 (6)
        • 클린 아키텍처 (2)
        • 인사이드 자바스크립트 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    react native analytics
    react native bottom sheet
    프론트엔드 테스트코드
    Node
    node crontab
    rn admob
    node fcm
    react native firebase analytics
    expo deep linking
    bottom sheet
    node cron
    python node
    react vite
    expo map
    컴파운드 컴포넌트 패턴
    javascript fcm
    node.js fcm
    expo admob
    라스콘
    expo 길찾기
    react native expo fcm
    rn bottom sheet
    php node
    expo fcm
    expo 지도
    expo node fcm
    expo google map
    expo fcm push
    라스콘4
    react native admob
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Yeonhub
[DAY - 79] router
상단으로

티스토리툴바