inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

상태 끌어올리기

auto import했을때에 Dispatch, SetStateAction

해결된 질문

73

귀한 불도새

작성한 질문수 7

0

 

import type { Dispatch, SetStateAction } from "react";

저는 강의와 다르게 이렇게 type이 붙어서 나오는데, 에러는 나지 않지만.. 궁금해서 질문 남깁니다

무엇이 다른건가요?

react react-router redux-toolkit zustand react.js

답변 2

1

수코딩

안녕하세요!
import type은 TypeScript 3.8(2020년)에 도입된 문법입니다.
이전부터 사용할 수 있었던 것은 아니고, 3.8 이후에 새롭게 추가된 문법입니다.

최근에는 VS Code의 자동 임포트 기능이 개선되면서, 타입으로만 사용되는 경우 import type이 자동으로 붙도록 변경되었습니다.
따라서 영상을 촬영한 시점보다 더 최신 버전의 VS Code를 사용하신다면, 자동으로 type이 붙는 경우가 있을 수 있습니다.

이는 전혀 문제가 되지 않으며, 타입 전용 임포트를 명확하게 해주는 좋은 방식이므로 신경 쓰지 않으셔도 됩니다 🙂
감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 귀한 불도새님.

import type { Dispatch, SetStateAction } from "react";라는 문법은 TypeScript에서 타입만을 가져올 때 사용하는 구문입니다. 일반적으로 TypeScript에서는 변수, 함수, 클래스와 타입을 동시에 가져올 수 있지만, import type은 타입만 명시적으로 가져오겠다는 의도를 나타냅니다.

주요 차이점 및 이유는 다음과 같습니다:

  1. 명시적인 타입 가져오기: import type은 타입만 가져오기 때문에 코드에서 실제로 존재하지 않는 타입들을 가져올 때 사용합니다. 이는 주로 Tree Shaking과 같은 최적화 기술에서 유용하게 사용됩니다.

  2. 코드 문맥을 명확히: import type을 사용하면 해당 파일에서는 타입 선언만 한다는 의도를 명확하게 나타낼 수 있어 코드의 가독성을 높입니다. 이는 특히 대규모 코드베이스에서 의미 있는 역할을 합니다.

  3. ESLint 및 타 도구와의 호환성: 일부 스타일 검사 도구나 빌드 도구가 TypeScript 파일에서 사용되지 않는 타입 때문에 에러를 발생시키는 경우, import type을 사용하여 이러한 오류를 피할 수 있습니다.

관련하여 참고할 만한 질문 및 추가 자료 링크입니다:
- TypeScript에서 명시적으로 타입을 가져오는 방법
- JS/TS의 import/export 문법 차이와 용도

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

상태(State) 가 "시간이 지남~" 에 대해 질문 있습니다.

0

34

2

import {} 중괄호 차이점

0

38

2

[ 문의]몽고DB connect 의 건

0

47

2

제공되는 react_code.zip 중에 ..

0

47

2

커리큘럼 비활성화

0

46

2

설명하시는 개념들을 잘 모르겠습니다.

0

43

2

이해가 절반 정도 되는데요.

0

56

1

styled-components(전역)

0

56

1

cloudinary 관련

0

71

3

useOptimistic 실전-1 useState

0

87

2

discord 초대장 갱신이 필요한거같습니다.

0

83

1

할일 관리 앱(메모이제이션)

0

99

2

Web 플랫폼 등록

0

140

2

함수 정의 기준

0

87

2

fetch는 사용되는가

0

88

2

전역상태 관리 선택 기준

0

109

2

tailwind css는 언제 사용되는가 또 다른 css와의 차이

0

210

2

카카오 web플랫폼 등록

0

193

2

컴포넌트 그리고 폴더 구조에 대해

0

78

2

152강 보는중입니다. 초시계부분이구요. 넘버가 timeout을 받을수없다는 에러가 나오고 있어요

0

52

1

폼테그 다른 태그를 하나의 상태 객체로 묶기

0

55

2

class를 className으로 전부 수정하실 때

0

49

2

JWT에 대한 개념도 학습할 수 있나요?

0

74

2

수업자료 다운로드

0

61

2