inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

상태관리와 Props 1

적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>

15

kindjin12

작성한 질문수 15

0

onChange의 e에 대한 타입을 TypeScript가 제공된 것을 토대로 설정하셨는데 아예 처음부터 return 밖에 onChangeInput을 설정하면 해당 타입(React.ChangeEvent<HTMLInputElemen>)가 안뜨지 않나요? 적절한 타입을 잘 찾는 방법이 뭘까요

typescript

답변 2

0

이정환 Winterlood

안녕하세요 kindjin12님 이정환입니다.

네 말씀하신대로 처음부터 return 내부가 아닌 컴포넌트 안에 함수를 선언하실 경우 매개변수의 타입이 추론되지 않습니다.

이럴 때에는 return 문 내의 onChange 이벤트 핸들러에 (e)=>{} 처럼 빈 화살표 함수를 작성하신 다음 추론되는 e 매개변수의 타입을 먼저 확인하고 작업하시면 됩니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. kindjin12님.

TypeScript와 React를 사용하면서 이벤트 핸들러의 타입을 설정하는 것은 매우 중요한 부분입니다. onChange 이벤트의 타입인 React.ChangeEvent<HTMLInputElement>는 TypeScript를 활용하여 이벤트의 타입을 명시적으로 지정해줌으로써 코드의 가독성을 높이고 오류를 방지할 수 있습니다.

TypeScript를 처음 사용하시는 경우, 특정 이벤트 핸들러의 타입을 설정하는 방법이 어려울 수 있습니다. 적절한 타입을 찾기 위해 몇 가지 팁을 드리겠습니다:

  1. 공식 문서 확인하기: React와 TypeScript 공식 문서에는 다양한 이벤트 타입이 잘 정리되어 있습니다. React.ChangeEvent 같은 기본적인 이벤트 타입은 React 공식 문서에서 확인하여 알맞게 사용할 수 있습니다.

  2. 직접 확인하기: TypeScript에서는 매개변수의 타입을 명시하지 않고도 매개변수를 입력해보면, IntelliSense 기능으로 자동 완성 기능이 나타납니다. 이 기능을 통해 어떤 타입이 예상되는지 확인할 수 있습니다.

  3. VSCode 사용하기: Visual Studio Code는 TypeScript와 React를 사용할 때 인텔리센스와 자동 완성 기능이 뛰어납니다. 이 IDE를 사용하면 적절한 타입을 쉽게 찾아낼 수 있습니다.

  4. 타입 추론 활용하기: TypeScript는 강력한 타입 추론 기능을 제공하므로, 타입을 명시적으로 지정하지 않더라도 대부분의 경우 타입을 자동으로 추론해줍니다. 만약 이벤트의 대상이 HTMLInputElement라는 것을 알고 있다면, TypeScript는 이를 기반으로 적절한 타입을 유추하게 됩니다.

질문하신 내용을 참고하여 적절한 타입을 찾는 방법에 대한 기존의 유사한 질문과 답변을 추천드립니다:

이 링크들에서 더 많은 정보를 얻으실 수 있으며, 더 다양한 사례를 통해 적절한 타입을 설정하는 방법을 배우실 수 있습니다.

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

outDir 옵션 추가 후 컴파일 오류 질문

0

51

1

호출 시그니처 질문

0

62

2

서로소 유니언 타입이 discriminated union과 동의어 인가요?

0

72

2

조건부타입소개 중 함수오버로딩 활용 시 인수의타입과 함수의 반환값의 타입이 깨지는 문제

0

65

1

할인쿠폰 관련하여

0

151

2

프론트엔드에서의 인터페이스활용

0

90

2

안녕하세요 이정환님!

0

89

1

Node.js 설치에 관한 질문입니다.

0

79

2

함수 타입 호출 시그니처

0

56

1

35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?

0

62

2

인터페이스 문법이 있는데 타입 별칭 문법은 왜 있나요?

0

114

4

마우스 호버 시 정보

0

90

2

vite으로 리액트 빌드하기를 업데이트해주세요.

1

89

2

타입가드를 만들어 사용하는 이유가 궁금합니다.

0

82

2

섹션 12가 너무 어려운데... 정상이겠죠..?

0

134

2

선생님.. 알고리즘도 강의해주시면안되나요

0

99

2

선생님은 어떻게 이런걸 아세요?

0

127

1

type: module

0

96

2

7:17초 업캐스팅 질문이있습니다!

0

75

1

슈퍼타입질문

1

61

2

프로젝트 설치

0

103

2

enum은 비원시 타입이면서 열거형 타입이 되는건가요?

0

67

2

함수는 함수타입? 객체타입??

1

91

2

유니온 타입의 분산적 조건부 타입

0

55

2