tsx 파일 내 arrow fucntion 사용시, ts 문법의 generic 설정시 아래 에러가 발생한다.
다이아몬드 연산자가 JSX파일이라는 착각을 컴파일러 한테 주기 땜에. jsx로 인식해버려서다.
<T,>(param : T) => x
처럼 T 옆에 trailiing comma를 사용해서, < 이 심볼이 jsx가 아니라는 확신을 컴파일러에게 주면 해결된다.
ref: https://stackoverflow.com/a/45576880/12959959
const foo = <T extends {}>(x: T):T => x
를 사용해서 jsx 문법이 아닌 {}를 extends 했다고 확신을 주면 또한 해결된다.