HTMLAttributes의 한계 및 개선방법 - prgrms-web-devcourse/Team_Alchomist_ShakeNMatch_FE GitHub Wiki
컴포넌트의 Props제작시에, ...props를 element에 부여할수있도록 하기위해 HTMLAttributes<T = Element>를 extends 하여 prop 타입을 정의한다. HTMLAttributes는 기존의 HTML태그들이 가질수있는 속성에 대한 타입이 명시되어있다.
실제 일부 태그들은 HTMLAttributes에는 없는 좀 더 특정한 타입들을 가지고 있다 ( ex: 의 type, disabled 와 같은... ) 이러한 속성들을 사용하기 위해서, type, disabled와 같은 속성들에 대해 추가적으로 타입명시를 진행해야한다.
React에는 HTMLAttributes를 확장한 더 구체적인 타입이 존재한다 Button: ButtonHTMLAttributes, Input: InputHTMLAttributes... 와 같은것들
해당 타입들을 사용함으로서 조금 더 확장되고, 특성화된 prop 사용이 가능해진다. (...props 를 부여해준다는 전제하에 )