inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[실시간 채팅 with React]

폴더 구조와 리액트 라우터

react-router-dom 오류

1987

작성자 없음

작성한 질문수 0

0

여기서 react-router-dom에 쓰이는 Switch, Route, Redirect에서 오류가 발생했습니다.

그래서 react-router-dom 버전 문제가 있어서 코드를 바꿔서 진행했습니다.

 

결론은 여전히 빨간색 오류가 발생하는데 어떤 부분이 오류인지 찾기 힘들어서 여쭤봅니다!!

BrowserRouter 추가하는 것도 오류가 발생합니다

 

 

 Its instance type 'BrowserRouter' is not a valid JSX element.
TS2786: 'BrowserRouter' cannot be used as a JSX component.
    The types returned by 'render()' are incompatible between these types.
      Type 'React.ReactNode' is not assignable to type 'import("C:/Users/user/node_modules/@types/hoist-non-react-statics/node_modules/@types/react/index").ReactNode'.
        Type '{}' is not assignable to type 'ReactNode'.

오류메시지입니다

 

react-router-dom 버전

    "react-router": "^5.3.4",
    "react-router-dom": "^5.3.4",
    "@types/react-router": "^5.1.20",
    "@types/react-router-dom": "^5.3.3",

 

클론코딩 typescript react babel Socket.io 웹팩

답변 1

0

제로초(조현영)

현재 버전은 5버전인데 코드는 6버전코드입니다. 코드를 5버전 코드로 하거나 버전을 6버전으로 올리셔야 합니다.

0

정이

첫번째 사진의 코드가 5버전이고 두번째 사진의 코드가 6버전 아닌가요?

현재 버전인 5버전으로 했을 때, 버전 문제인가 싶어서 코드를 두 버전으로 작성했을 때의 결과입니다.

코드가 5버전일 때와 6버전일 때 모두 에러가 났습니다...ㅜㅜ

0

제로초(조현영)

node-modules 폴더 지웠다가 다시 npm i 해서 설치해보세요. 단순 설치 에러 또는 에디터 캐싱문제입니다.

0

정이

{
  "name": "front",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "webpack serve --env development",
    "build": "cross-env NODE_ENV=production webpack",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "bbb",
  "license": "MIT",
  "dependencies": {
    "@emotion/babel-plugin": "^11.2.0",
    "@emotion/react": "^11.1.5",
    "@emotion/styled": "^11.1.5",
    "@loadable/component": "^5.14.1",
    "@types/gravatar": "^1.8.1",
    "@types/react": "^17.0.2",
    "@types/react-dom": "^17.0.1",
    "autosize": "^4.0.2",
    "axios": "^0.21.1",
    "cross-env": "^7.0.3",
    "css-loader": "^5.0.2",
    "dayjs": "^1.10.4",
    "gravatar": "^1.8.1",
    "react": "^17.0.1",
    "react-custom-scrollbars": "^4.2.1",
    "react-dom": "^17.0.1",
    "react-mentions": "^4.1.1",
    "react-router": "^5.2.0",
    "react-router-dom": "^5.2.0",
    "react-toastify": "^7.0.3",
    "regexify-string": "^1.0.5",
    "socket.io-client": "^2.4.0",
    "style-loader": "^2.0.0",
    "swr": "^0.4.2",
    "ts-node": "^10.9.1",
    "typescript": "^4.1.5",
    "webpack-bundle-analyzer": "^4.4.0",
    "webpack-cli": "^4.5.0"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/preset-env": "^7.12.16",
    "@babel/preset-react": "^7.12.13",
    "@babel/preset-typescript": "^7.12.16",
    "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
    "@types/autosize": "^3.0.7",
    "@types/loadable__component": "^5.13.3",
    "@types/node": "^14.14.28",
    "@types/react-custom-scrollbars": "^4.0.7",
    "@types/react-mentions": "^4.1.0",
    "@types/react-router": "^5.1.11",
    "@types/react-router-dom": "^5.1.7",
    "@types/socket.io-client": "^1.4.35",
    "@types/webpack": "^4.41.26",
    "@types/webpack-bundle-analyzer": "^3.9.1",
    "@types/webpack-dev-server": "^3.11.1",
    "babel-loader": "^8.2.2",
    "eslint": "^7.20.0",
    "eslint-config-prettier": "^7.2.0",
    "eslint-config-react-app": "^6.0.0",
    "eslint-plugin-flowtype": "^5.3.1",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-prettier": "^3.3.1",
    "eslint-plugin-react": "^7.22.0",
    "fork-ts-checker-webpack-plugin": "^6.1.0",
    "prettier": "^2.2.1",
    "react-refresh": "^0.14.0",
    "webpack": "^5.22.0",
    "webpack-dev-server": "^4.10.1"
  }
}

node-modules 폴더 지웠다가 다시 npm i 설치 했으나, 같은 에러가 납니다.

package.json을 모두 깃헙 코드 복사 붙여넣기 해서 다시 node-modules 폴더 지웠다가 한겁니다.

그렇게 했을 때, 웹팩에서 에러가 발생하여 npm i -D @pmmmwh/react-refresh-webpack-plugin react-refresh 이것을 다시 설치해야했고,

react-dom도 같은 에러가 발생하여 다시 설치해야하나 생각했고, 다시 설치해도 같은 에러가 발생하였습니다.

image

image

App컴포넌트와 Client 컴포넌트 모두 react-router-dom의 문제인것 같습니다.

에디터 캐싱문제라면 그 문제는 어떻게 해결하면 되나요??

0

제로초(조현영)

검색해보니 리액트와 타입스크립트 버전 문제같은데요.

https://dotorimook.github.io/post/2021-10-14-auto-import-error/

 

0

제로초(조현영)

https://stackoverflow.com/questions/71795948/jsx-element-type-x-is-not-a-constructor-function-for-jsx-elements-types-retur

0

정이

강의에서 사용하셨던 리액트와 타입스크립트의 버전을 알 수 있을까요??

깃헙 코드를 클론해서 npm i 를 다시 하면 그 버전 그대로 받을 수 있는 거 아닌가요??

클론된 파일도 npm i 하니까 문제가 생기는데.... 어떤 버전을 받아야 진행할 수 있는건가요??

강의 했을 때와 지금 버전이 달라서 그런것 같은데 혹시 제 노트북만 그런걸까요...?ㅠㅠ

0

제로초(조현영)

네 저는 아무 문제없이 됩니다. 이 문제를 제기하신분도 질문자분밖에 없으셨고요. 리액트 버전을 18버전으로 올려서 한 번 해보세요. 지금 에러로 나오는 라이브러리는 리액트18에서 쓰이는 것인데 희한하게 설치되어있습니다.

0

제로초(조현영)

지금 프로젝트 폴더가 C:/Users/user 인가요? 여기에 node_modules가 있는데 만약 여기가 프로젝트 폴더가 아니면 여기의 노드모듈즈 지우세요.

0

정이

그 폴더에 노드모듈즈가 있었어요ㅠㅠ 지우니까 오류가 없어졌어요!!! 감사합니다ㅎㅎㅎ

기본 셋팅과 관련하여

0

93

1

초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법

0

97

2

focus 시에만 화면 업데이트 되는 이유 + 해결방법

0

150

2

useEffect 개수 관리

0

111

2

라이브러리 서치 방법

0

105

2

함수 정의 패턴

0

77

1

npm run dev 에러

0

152

3

npx webpack 후 에러

0

178

2

'void' 형식 식의 truthiness를 테스트할 수 없습니다.ts(1345)

0

144

2

사용자 가입시 에러발생 (TypeError: Cannot read properties of null (reading 'addMembers')

1

179

2

초기세팅중 packge.json 에러떠요

0

157

2

CORS - Access-Control-Allow-Origin 누락 문제

0

431

3

로그인 페이지 무한 새로고침 현상

0

598

2

Module not found: Error: Can't resolve './App' 에러

0

959

1

배포 방법

0

298

2

npm run dev 시 빌드가 매우 느려졌습니다

0

993

2

alias 경로 설정 오류

0

453

2

fetcher 함수의 data 값이 두번 찍히는 이유

0

278

1

제네릭 질문

0

219

2

ts-node 대신 tsx 사용여부

0

373

1

배포 관련 질문

0

247

1

[nginx + https] 서비스를 실행하면 niginx가 아닌 서비스 화면을 보여주게 하고 싶습니다.

0

386

2

[배포하기] webpack에 aws 퍼블릭 IPv4 주소 와 포트 주소를 작성하고 나서 빌드후 실행하면 오류가 발생합니다.

0

336

1

users 호출 시 쿠키가 담기지 않는 이슈 질문드립니다.

0

247

2