inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실무 중심! FE 입문자를 위한 React

10-2. react-router 적용

[10-2] react-router 강의에서 BrowserRouter 를 감싸지 않고 페이지가 나오는 게 맞나요?

212

Codingbear

작성한 질문수 18

1

10-2 강의 내용에서 BrowserRouter 를 임포트 하고 나서 사용 안하고 Route를 구성하였습니다. 강의 내용대로 페이지 화면이 나와야 되는 데 에러가 발생합니다. BrowserRouter를 감싸지 않고서도 페이지 화면이 나오는 게 맞나요?

<div className="App">     
    <Routes>
        <Route path="/" element={<PageA />} />
        <Route path="/2" element={<PageB />} />
    </Routes>
</div>

react redux node.js sass swr router

답변 2

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Coding bear님.

React에서 react-router-dom을 사용하여 라우트를 설정할 때, 반드시 Routes 컴포넌트를 BrowserRouter 내에 감싸야 합니다. 그렇지 않으면 라우팅 기능이 작동하지 않으며 에러가 발생할 수 있습니다.

BrowserRouter는 브라우저의 히스토리 API를 사용하여 라우터에 경로를 제공하는 역할을 하고, 모든 Route 컴포넌트는 BrowserRouter 또는 HashRouter 등의 Router 컴포넌트 안에 있어야 합니다.

아래는 수정된 예제입니다:

import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import PageA from './PageA';
import PageB from './PageB';

function App() {
  return (
    <Router>
      <div className="App">
        <Routes>
          <Route path="/" element={<PageA />} />
          <Route path="/2" element={<PageB />} />
        </Routes>
      </div>
    </Router>
  );
}

export default App;

작성한 코드처럼 Router로 감싸주면 RoutesRoute 컴포넌트가 정상적으로 작동할 것입니다.

관련된 질문으로는 아래 링크를 참고하실 수 있습니다:
- React Router: Understanding the importance of Router Components

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

yeji_rang

루트의 index.js에서 <App /> 컴포넌트를
<BrowserRouter> 로 감싸주고 있어서 생략된게 아닌가 싶구요.

AI 자동답변은 링크오 404고 도움이 안되네요

라우터 궁금사항

0

48

1

자료 Git Source 주소 ??

1

77

1

교육자료 소스 바로 실행시..

0

92

1

교육자료 소스 바로 실행시..

0

68

1

13-1, 13-2 질문

0

134

1

12-2. Recoil -> Jotai 변환 코드 공유합니다.

4

216

1

recoil error 나시는 분들 보세요

3

131

1

어려워요 뭔소리죠 대체

3

318

1

사진이 잘 안보여요.

0

159

1

반복문 사용법은 안알려주고 주의사항만 알려주시는거군요

1

248

0

hooks recoil불러오는 과정에서 src내부에 있는 파일이 안불러와집니다

0

126

1

제발 코드샌드박스 링크 좀 달아주세요....

2

538

2

App.js > QuestionBox > answers ={answers[step]}, QuestionBox.js > answer

0

141

0

4.2 React 렌더링 과정 에서 왜 컴포넌트가 두 번씩 호출될까요?

0

176

1

useEffect 관련 질문드립니다.

0

138

0

jotai로 변경했을 때 코드

0

438

3

리코일이 업데이트가 안된지 오래됐다고하네요

3

463

1

학습 링크

0

364

1

12-2 질문

0

665

3

5-1 학습링크

1

270

1

7-5. 메모 삭제 기능에 문제가 있습니다.

1

245

0

실습링크

0

326

1

2-6 구구단 배열 넣어서 출력시 질문

0

148

1

[2-1] 강의링크 메모용

4

925

1