본문 바로가기

공부기록/Typescript

화살표 함수에 제네릭 사용하기

 

 

 


에러상황 

 

<T>라는 제네릭 타입을 타입스크립트가 인식하지 못하고 있다. 

 

const useApi = <T>({

 

 

 

 

 

JSX파일이라고 착각해서 생기는 문제인데 

 

 

 

 

 

 

 

tsx파일의 화살표 함수에서 제네릭 사용시 에러: ... 'T' has no corresponding closing tag.

tsx 파일 내 arrow fucntion 사용시, ts 문법의 generic 설정시 아래 에러가 발생한다. 다이아몬드 연산자가 JSX파일이라는 착각을 컴파일러 한테 주기 땜에. jsx로 인식해버려서다. <T,>(param : T) => x 처럼 T

velog.io

 

 

 

 

해결방안


 

1. 콤마를 추가하여 컴파일러에게 이것이 JSX가 아니라는 확신을 주기

 

const useApi = <T,>({

 

 

 

2. 제네릭의 기본적인 사용방법을 쓰기

 

const identify = <T>(arg: T):T => {
	return arg;
}

 

 

T는 관용적으로 사용 Type의 약자 

<T>는 타입변수 

argument와 return의 type은 T라는 타입 변수로 동일 

 

 

 

 

 

제네릭에 대해서 

 

 

TypeScript | Generic 제네릭 (feat. TypeScript 두 달차 후기)

타입스크립트 제네릭의 여러 사용 방법에 대해 정리해봅니다.

velog.io