假设我想创建一个自定义的div组件,名为MyDiv,带有附加属性,例如。
interface MyDivProps { marginX: string; marginY: string; }
HTMLDivElement ,所以我想要的是:
HTMLDivElement
interface MyDivProps implements JSX.IntrinsicElement.div { marginX: string; marginY: string; }
(我使用 JSX.IntrinsicElement.div 而不是 因为它有额外的React div属性,比如 ref )
JSX.IntrinsicElement.div
ref
您要查找的语法是:
type DivProps = JSX.IntrinsicElements["div"]; interface MyDivProps extends DivProps { marginX: string; marginY: string; }
(TypeScript有一个限制,接口只能扩展虚线名称,因此必须为其定义类型别名 JSX.IntrinsicElements["div"] 在扩展之前。)
JSX.IntrinsicElements["div"]