leecom116

제이의 기술 블로그
  • Print (216)
    • Frontend (29)
      • React (3)
      • HTML, CSS (8)
      • JavaScript (11)
      • JQuery (4)
      • JSP (2)
    • Backend (59)
      • Java (31)
      • Spring (11)
      • Spring Boot (0)
      • Python (1)
      • Node.js (1)
      • C, C++ (12)
      • Linux (2)
    • Database (3)
      • MariaDB (0)
      • Oracle (0)
      • MySQL (0)
    • Project (1)
    • Algorithm (67)
      • 백준 (43)
      • 프로그래머스 (0)
      • 이코테 (6)
      • 코드업 (17)
    • Tool (2)
      • Git (1)
      • Log (1)
    • CS (4)
    • Tech Interview (18)
      • Java (9)
      • Web (9)
    • Study (31)
      • 인프런 (3)
      • 정보처리기사 (8)
      • util (4)
      • 쌍용 (14)

깃허브

    https://github.com/leecom116

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근 글

인기 글

블로그 메뉴

  • 홈
  • 태그
  • 방명록

태그

  • 자바 인터페이스
  • 의존성 주입
  • 논리 연산자
  • static메서드
  • 자바 예외 처리
  • 참조형 변수
  • 웹개발
  • 코드업 기초
  • 코드업 2차원 배열
  • HTML
  • 나도코딩
  • Associate
  • man month
  • 코드업 기초100제
  • 코드업
  • 델파이 기법
  • 웹 개발 부트캠프
  • 객체 배열
  • char
  • 정보공학 방법론
  • 나선형 모델
  • JSP
  • C언어 프로젝트
  • 자바의 정석
  • CSS
  • Web Developer
  • 웹 개발
  • 산술 변환
  • c언어
  • 메타포어

최근 댓글

hELLO · Designed By 정상우.
leecom116
Frontend/React

[React] 리액트 라우터

2024. 6. 19. 09:00

라우팅

사용자가 웹사이트를 접근할 때, URL에 따라 서로 다른 컴포넌트를 화면에 표시해줄 수 있다. 이것을 라우팅이라고 한다.

예를 들어서 사용자가 접속한 URL이 www.naver.com?mode=dark 라고 가정해보자.

​

경로(path): www.naver.com

쿼리(query): mode=dark

​

경로와 쿼리 부분을 바탕으로 해당 컴포넌트를 렌더링하는 것, 이 과정을 라우팅이라고 한다.

​

리액트에서는 react-router 라이브러리를 이용하여 라우팅을 구현할 수 있다.

​

​

1. 리액트 라우터 라이브러리 설치

npm install react-router-dom

 

 

2. 페이지 컴포넌트 정의

// Home 컴포넌트
import React from 'react';

const Home = () => {
  return (
    <div>
      <h1>홈</h1>
      <p>홈페이지에 오신 것을 환영합니다!</p>
    </div>
  );
};

// About 컴포넌트
import React from 'react';

const About = () => {
  return (
    <div>
      <h1>소개</h1>
      <p>이 애플리케이션에 대한 정보입니다.</p>
    </div>
  );
};

// Contact 컴포넌트
import React from 'react';

const Contact = () => {
  return (
    <div>
      <h1>연락처</h1>
      <p>문의 사항은 여기로 보내주세요.</p>
    </div>
  );
};

 

 

3. 라우터 설정

import React from 'react';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';
import Contact from './Contact';

const App = () => {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
        <Route path="/contact" element={<Contact />} />
      </Routes>
    </BrowserRouter>
  );
};

export default App;

 

 

4. 링크 추가

// Home 컴포넌트
import React from 'react';
import { Link } from 'react-router-dom';

const Home = () => {
  return (
    <div>
      <h1>홈</h1>
      <p>홈페이지에 오신 것을 환영합니다!</p>
      <Link to="/about">소개 페이지로 이동</Link>
      <Link to="/contact">연락처 페이지로 이동</Link>
    </div>
  );
};
저작자표시

'Frontend > React' 카테고리의 다른 글

[React] 리액트 라이프 사이클  (0) 2024.02.05
Virtual DOM  (0) 2023.03.11
    'Frontend/React' 카테고리의 다른 글
    • [React] 리액트 라이프 사이클
    • Virtual DOM
    leecom116
    leecom116

    티스토리툴바