inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전 리액트 프로그래밍

서버 API 호출하기

type 'Window & typeof globalThis' / DefaultRootState 오류

해결된 질문

711

pole

작성한 질문수 3

1

Q.1  아래 오류가 리덕스 개발툴과 관련있다고 하는데 혹시 원인을 알 수 있을까요? 강의 그대로 따라했는데 제가 어떤 설정을 잘못한건가요?? 

type 'Window & typeof globalThis' -> 오류 문구

오류 코드

작동 코드

 

Q.2  DefaultRootState'  이 문구가 뜨면서 search 부분이 계속 오류가 뜹니다. 

-------

브라우저에는 net::ERR_CONNECTION_REFUSED 라고 뜹니다!

redux react

답변 6

1

pole

아 ;; 설치를 안했습니다 해결됐습니다!
친절한 답변 감사합니다 선생님!!

1

이재승

혹시 server 폴더에서 npm install 과 npm start 하셨나요?

1

pole

env파일 수정하고, callApi 확인 후 실행했더니 아래 메세지가 나왔습니다.
구글검색해보니 크롬 쿠키랑 캐쉬가 문제가 될 수 있다고하여 삭제 후 재실행해도 그대로 입니다 ㅠㅠ

1

이재승

localhost:3001 로 요청해야하는데 3000으로 보낸 것 같네요
.env.development 파일을 확인해보시면 될 것 같아요
그래도 안되면 callApi 함수에서 baseURL 쪽도 확인해보시면 될거에요

1

pole

아하 명료한 설명 감사합니다 ㅎㅎ!
말씀한대로 모두 수정하였더니 이제 오류는 모두 사라졌습니다.
하지만 검색창에 입력만하면 아래 메세지가 나옵니다

1

이재승

죄송합니다. 영상에서 이 부분을 설명했어야 하는데 제가 놓쳤네요.
두 에러 모두 타입스크립트가 보여주는 타입 에러입니다.
jsconfig.json 파일을 추가하면서 vscode 가 개발 편의를 위해 보여주는 메시지 입니다.
(타입 에러를 무시하고) 자바스크립트 프로그램을 실행할 수도 있습니다.

제가 jsconfig.json 파일을 추가한 이유는 auto import 때문인데요.
jsconfig.json 파일을 추가하면 vscode 가 추가로 타입 체크도 해주면서 에러 메시지가 보입니다.
타입 에러를 무시하고 싶다면 해당 라인 위에 `// @ts-ignore` 를 추가하시는 방법도 있습니다.

A1.
window 타입에는 __REDUX_DEVTOOLS_EXTENSION_COMPOSE__ 라는 속성이 없어서 발생하는 에러입니다.
말씀하신 방법이 적당한 해결책이라고 생각됩니다.
타입을 제대로 정의하려면 window 에 __REDUX_DEVTOOLS_EXTENSION_COMPOSE__ 속성이 있다고 알려줘야하는데, jsDoc 으로는 간단한 방법은 없는 것 같네요

A2.
state의 타입을 정의하지 않아서 발생하는 에러입니다

mac 사용자라고 가정하고 설명드릴게요
userSelector에 마우스 커서를 올리고 command 키를 누른 상태에서 클릭해주세요
아래 경로에 있는 파일이 열릴거에요
(안열린다면 수동으로 열어주세요)
/Users/{사용자이름}/Library/Caches/typescript/3.9/node_modules/@types/react-redux/index.d.ts

그리고 아래 코드를
export function useSelector<TState = DefaultRootState, TSelected = unknown>(
아래처럼 수정해주세요
export function useSelector<TState = any, TSelected = unknown>(
이렇게 하면 아마 에러는 사라질 것 같아요

위에 any라고 입력한 것은 state의 타입을 신경쓰지 않겠다라는 의미로 이해하시면 될 것 같아요
참고로 자바스크립트에서 타입을 제대로 입력하려면 JSDoc 을 꼼꼼하게 작성해야하는데요
사실 그렇게 하는 것 보다는 타입스크립트로 작성하는 게 더 낫긴합니다

자동완성기능이 안되네요 ..

0

499

3

화면에 에러가나네요 ...

0

516

2

setValue 함수 질문 있습니다.

0

840

1

찾아야한다 실습 문의

0

469

1

훅 기초 익히기 - 배치 처리와 순차적 처리의 차이

0

470

1

cra, next.js 관련 질문 드립니다!

0

605

1

useState 배열 비구조화 문법 질문!

0

252

1

Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'

1

1081

2

Saga 오류 이거 혹시 왜이런지 알수 있을까요?

0

371

2

http://localhost:3001/user/search?keyword=u 이걸로 데이터를 보는데 저는 사이트에 연결할 수 없다고 나오네요

0

657

1

match

1

495

1

버튼이 생성되지 않습니다 .

0

287

1

혹시 import 옆에 파일 사이즈 표시 어떻게 하나요?

0

262

1

saga 문제

0

248

1

에러가 발생하는데 이유가뭘까요..?

0

388

2

선생님과 똑같이 했는데 다 rendering 됩니다.

0

203

1

컴포넌트와 컨테이너의 기준

0

316

1

커스텀훅의 개념과 함수차이

1

1198

1

useEffect 실전 활용법(1) 강의에서 질문있습니다.

0

337

1

리덕스, 사가파일들의 관리

0

207

1

useImperativeHandle 질문 입니다.

0

281

1

컴파일 문의드립니다.

0

203

1

React.memo 관련 질문이 있습니다.

0

373

1

Context API vs Redux 사용 빈도

0

213

1