230314.til

Universe·2023년 3월 14일
0


타입스크립트는 아주 섬세한 아이라서 무엇하나 그냥 넘어가는 법이 없다.
분명히 setTodos의 원본 todos는 ITodo[] 라는 interface로 타입을 알려줬다.
그러나 타입스크립트는 prev, 그러니까 todos의 가장 최신값의 타입은 모른다.
일일히 하나하나 알려줘야 하는게 너무나도 까다로운 일임에는 틀림없다.

문제는 setter 함수에 추가할 category 의 name.
name의 type은

export type categoryType = "Todo" | "Doing" | "Done";

이 세가지 string만 가능하므로,
currentTarget의 name이 string으로 타입추론 되는 것을 명시적으로 타입을 설정해주어야 한다.

React.MouseEvent 를 extends 해와서 새로운 interface를 만들었다.
그래서 currentTarget으로 받은 name의 속성을 명시적으로 설정해준 모습.





사실 마우스를 올려보기 전까지는 몰랐다.
name이 string으로 타입추론이 된다는 것을.
이런 놓치고 있는 부분까지 하나하나 짚어주는게 마치 잔소리하는 엄마 같아서
아련해졌다.
😥

profile
Always, we are friend 🧡

0개의 댓글