인프런 커뮤니티 질문&답변

김동현님의 프로필 이미지
김동현

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #34 인증 체크 (2) 강의 마무리.

react router v6 에서 hoc 컴포넌트(Auth)에서 useNavigate() 를 사용할 수 없나요?

작성

·

878

6

react router v6 에서 hoc 컴포넌트(Auth)에서 useNavigate() 를 사용할 수 없는지 궁금합니다.

 

강사님의 강의를 듣다가 react router v5 로 계속하려했으나 옛날방식이라 신경쓸게 너무 많아 v6 를 쓰고 있었습니다.

 

hoc (Auth) 에서 강사님이 history.push 를 쓰셨는데 v6 에서는 useNavigate()를 쓰라고 합니다.

근데 useNavigate() 를 쓰니 Router 컴포넌트 안에서만 쓸 수 있다고 하더군요.

근데 App.js를 보시면 Router 안에 hoc(Auth)가 들어있지 않습니까?

그런데 왜 사용을 못하는지, 그렇다면 어떻게 해야하는지 궁금합니다. 마지막인데 속썩이네요;; 

답변 5

0

저는 navigate가 안먹는데... 어떻게 하셨을까요

0

진짜 님 복 받으실 거예여 ㅠㅠㅠㅠ 덕분에 에러 잡았습니당

0

아 navigate 선언한 위치가 잘못이었네요ㅠㅠ 해결했습니다. 감사합니다.

0

return 부분에 <AuthenticationCheck />로 리턴 해봤는데 계속 똑같은 오류가 뜨더군요 혹시 해결하셨을까요?

0

김동현님의 프로필 이미지
김동현
질문자

해결했습니다 : )

auth.js 에서 마지막에 AuthenticationCheack 컴포넌트를 리턴할때 함수로 리턴하지말고 JSX컴포넌트로 리턴해야 합니다.

이부분 조금만 상세하게 말씀해주실수 있으실까요?

<AuthenticationCheack/> 이런식으로 리턴하라는 것 같네요!

김동현님의 프로필 이미지
김동현

작성한 질문수

질문하기