늘 겸손하게

React 에러 - Uncaught Error: A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes> 본문

Programming/React

React 에러 - Uncaught Error: A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>

besforyou999 2022. 7. 6. 15:36

React의 Route를 이용하여 개발을 하던 중에 맞닥뜨린 에러입니다.

 

 

문제 원인

 

react-router-dom 라이브러리가 v6으로 업데이트되면서 호환이 안되는 부분이 생겼다고합니다.

 

https://reactrouter.com/docs/en/v6/getting-started/overview

 

React Router | Quick Start

Declarative routing for React apps at any scale

reactrouter.com

 

 

해결 방법

 

1. 새로운 문법에 맞게 다시 작성

2. 이전 버전 사용

 

 

이전 버전 사용이 더 간편해서 저는 2번 방법으로 해결했습니다.

 

 

 

이전 버전으로 변경

아래 버전 중 1택

 

npm install react-router-dom@5.3.0

 

npm install react-router-dom@5.2.0

 

npm install react-router-dom@5.1.2

 



v5 (버전5)중 하나를 선택하면 됩니다. 가능하면 다운로드 수가 많은게 좋을듯합니다.

 

 

 

react-router-dom 버전 목록

 

https://www.npmjs.com/package/react-router-dom

 

react-router-dom

Declarative routing for React web applications. Latest version: 6.3.0, last published: 3 months ago. Start using react-router-dom in your project by running `npm i react-router-dom`. There are 14541 other projects in the npm registry using react-router-dom

www.npmjs.com