inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

react-router-dom을 활용한 라우팅 처리

Route관련질의

341

Seung Park

작성한 질문수 8

0

안녕하세요 react router-dom 실습 중 문의드립니다

수업중 src의 index에서 pages의 index는 라우트가되는데

pages의 index에서 accounts의 index는 라우트가안되네요..

http://localhost:3000/accounts/signup 의 주소로 들어가고싶은데

틀린부분을 못찾겠고 기존 질의를 봐도 해결이 잘안되서 질문드립니다

pages의 index.js 코드는 아래와같습니다

import React from "react";
import AppLayout from "components/AppLayout";
import {
    //BrowserRouter as Router,
    //Switch,
    Route,
    Routes
  } from "react-router-dom";
import About from "./About";
import Home from "./Home";
import AccountsRoutes from "./accounts";

function Root() {
    return (
    <AppLayout>
    <Routes>
        
        <Route exact path ="/" element={<Home/>} /> 
        <Route exact path ="/about" element={<About/>} /> 
        <Route path="/accounts" element={<AccountsRoutes/>} />
    </Routes>
    </AppLayout>
    );
    
}

export default Root;

pages/accounts 의 index.js 코드는 아래와같습니다

import React from "react";
import { Route, Routes} from "react-router-dom";
import Profile from "./Profile";
import Login from "./Login";
import Signup from "./Signup";

function AccountsRoutes({match}){
    return (
        <>
        <Routes>
        <Route exact path={match.url+ "/profile"} element={<Profile/>} />
        <Route exact path={match.url+ "/login"} element={<Login/>} />
        <Route exact path={match.url+ "/signup"} element={<Signup/>} />
        </Routes>

        </>
    );
}

export default AccountsRoutes;

docker react django python

답변 2

3

이진석

안녕하세요.

사용하시는 react-router-dom 버전이 어떻게 되시나요? Routes를 쓰신 것을 보니 @6을 쓰신 듯 합니다.

@6에서는 더 이상 exact가 사용되지 않고, 디폴트로 exact 동작이며 path 끝에 /* 를 붙이면 여러 주소를 처리토록 되었습니다. 그리고 속성값으로 match 가 전달되지 않구요.

그러니 AccountsRoutes 컴포넌트에서는 다음과 같이 쓰시게 되겠구요.

<Route path="profile" element={<Profile/>} />
<Route path="login" element={<Login/>} />
<Route path="signup" element={<Signup/>} />

Root 컴포넌트에서는 다음과 같이 쓰시면 예상하신 대로 동작할 것입니다.

<Route path="/accounts/*" element={<AccountsRoutes/>} />

살펴보시고, 댓글 남겨주세요.

화이팅입니다. :-)

1

Seung Park

아 강사님 v6가 사용중이었습니다

말씀대로 수정하니 잘됩니다

감사합니다

안녕하세요.

0

49

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

273

1

useEffect 훅에서 else 유무에 따른 결과

0

211

1

useAxios 훅의 dependency array 설정

0

245

1

useEffect에서 변수 업데이트 관련 질문

0

382

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

268

1

bootstrap4

0

470

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

364

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

573

3

useState는 필수일까요?

0

263

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

600

4

Django allauth를 사용한 소셜 로그인 시 에러

0

655

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

555

2

useLocalStorage() 함수 사용여부

0

228

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

449

1

리듀서의 의미 재확인

0

430

1

simple-jwt Refresh Token 사용 노하우

0

899

2

docker compose 를 통한 배포 관련 오류 문의

0

670

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

364

1

is_like_user

0

233

1

related_name 오류

0

273

1

re_path 오류

0

258

1

re_path url

0

251

1

No post matches the given query

0

661

2