• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

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

23.06.07 17:15 작성 조회수 1.46k

1

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

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

참고하세요.

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.06.09

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

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

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

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