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

열공님의 프로필 이미지
열공

작성한 질문수

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

노드 리액트 기초 강의 #31 회원 가입 페이지

뭘해도 에러날때 Uncaught Error: useNavigate() may be used only in the context of a <Router> component.

작성

·

1.9K

1

App.js에 있는 <BrowserRouter>태그를

Index.js의 Provider위로 감싸주세요 그러니 Loginpage.js등에서 navigate가 정상작동하네요

참고하세요.

답변 1

0

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

해당 오류는 React Router의 useNavigate() 훅이 Router 컴포넌트 안에서만 사용될 수 있다는 경고 메시지입니다. 이 오류가 발생하는 이유는 컴포넌트가 Provider 컴포넌트 위에 위치하고 있지 않기 때문입니다.

따라서, App.js에 있는 컴포넌트를 Index.js의 Provider 컴포넌트 위에 위치하도록 코드를 수정해주시면 됩니다. 이렇게 수정하면 Loginpage.js 등에서 useNavigate()를 정상적으로 사용할 수 있습니다.

정확한 코드 수정 방법을 알려드리기 위해서는 코드의 구조와 상황에 따라 다양한 방법이 있을 수 있기 때문에, 보다 구체적인 예시를 들어주세요. 그럴 경우 더욱 상세한 답변을 드릴 수 있도록 도와드리겠습니다. 감사합니다.

열공님의 프로필 이미지
열공

작성한 질문수

질문하기