에러상황
<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