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

하늘의개혁님의 프로필 이미지

작성한 질문수

실전 리액트 프로그래밍

강의 잘듣고 있습니다.

작성

·

202

1

안녕하세요

비주얼스튜디오 코드로 잘 작성하고 있는데요

아래 과 같이 auth 이부분에 빨간줄이 생기는데 무시하고 해도 진행은 되는데...

이거 문제가 무엇일까요? 비주얼 스튜디오 코드에서 설정해야 되는것이 있는건가요?

이거 뿐 아니라. state.으로 시작하는 모든 부분에서 빨간줄이 발생합니다....

const status = useSelector(state => state.auth.status);

답변 3

1

답변 감사합니다. 매우 도움이 되었습니다. 타입스크립트 쪽에도 관심이 가서 그런데

해당 영상이 리액트 기준으로 설명한 타입스크립트 영상인가요?

0

이재승님의 프로필 이미지
이재승
지식공유자

말씀하신 영상이 IF Kakao 발표를 말씀하신걸까요?

맞다면 리액트 기준으로 설명한건 아닙니다.

0

이재승님의 프로필 이미지
이재승
지식공유자

typescript 가 보여주는 타입 에러인 것 같네요

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>(
이렇게 하면 아마 에러는 사라질 것 같아요

에러가 나는 이유는,
jsconfig.json 의 checkJs=true 설정 때문에 vscode가 타입 검사를 하는데요
state의 타입을 정의하지 않아서 발생하는 에러에요

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