[TypeScript] React의 제니스 활용 방법

3013 단어 ReactTypeScripttech
<> 이 기호는 jsx로 여겨지기 때문에 이렇게 쓰면 오류가 발생합니다
const fn = <T>(parm:T) => {}
해결 방안은 몇 가지가 있고 기본적으로 jsx에서 쓸 수 없는 문법을 사용하여 <>는 jsx가 아니라 유형 매개 변수를 식별한다.

두 번째 유형 매개변수 쓰기


두 번째 매개변수를 사용하지 않으므로 밑줄로 정의합니다.
const fn = <T, _>(x: T): T => x;

unknown을 계승형 매개 변수로 삼다


unknown은 모든 유형이 계승되는 유형이기 때문에 extends도 문제없습니다.따라서 jsx에 extends를 쓸 수 없기 때문에 형식 인자임을 이해하기 위해 extends를 억지로 씁니다.
const fn = <T extends unknown>(x: T): T => x;
Arlo 함수가 하나의 양만 사용하고 싶다면 extends unknown이 가장 좋다.
밑줄 매개변수를 잘못 사용할 수 있습니다.

화살 함수 사용 안 함


아로 함수라서 jsx로 오해받았습니다.그러면 ARO 함수를 버리십시오.
const fn = function <T>(x: T) {};

좋은 웹페이지 즐겨찾기