Programming

[error] ts Pick 사용 시 type is not assignable 에러

ggsno 2022. 8. 23. 03:33

🏁 목적 | 타입 상속을 이용한 타입 재사용

types/product.tsx

◼ 상품에 대한 type들을 모은 ProductProps로부터 필요한 타입들을 ts문법 Pick을 이용해 가져오고자 했다.

❌ 문제 | Type '${target_type}' is not assignable to type 'Pick<${source_type}, ${target}>'

외않되?

◼ Pick<ProductProps, "id"> 는 분명 number타입인데 not assignable 하다고 한다,,

✅ 해결 | Pick은 객체 형태를 반환함

사건의 원흉

 찾아 보니 Pick으로 만든 타입은 타입 자체가 아니라 객체형태라고 한다. 즉, Pick<ProductProps, "id">는 string으로 바로 평가되는 것이 아니라 { "id": string }로 평가된다는 말이다. 

해결(헤어질 결심 아님ㅎ)

 Pick을 최근에 배워서 빨리 써먹고 싶은 생각에 남발했던 것 같다..