[英]Typescript JSX with Generics - Parameter implicitly has an 'any' type
當使用帶有 Generics 的 JSX 語法時,Typescript 能夠正常推斷屬性,除了 function 參數的類型。
示例代碼:
interface Dictionary {
a: JSX.IntrinsicElements['a'];
button: JSX.IntrinsicElements['button'];
}
type Props<T extends 'a' | 'button'> = Dictionary[T] & {
as: T;
};
function Test<T extends 'a' | 'button'>(args: Props<T>) {
return null;
}
<Test as="a" href="#" onClick={(arg) => {}} />; // Parameter 'arg' implicitly has an 'any' type.
Test({
as: 'a',
href: '#',
onClick: (arg) => {}, // No error
});
如果我將鼠標放在 onClick 屬性上,它可以判斷 onClick 的類型(React.MouseEventHandler<HTMLAnchorElement>),但仍然無法推斷參數的類型。
只需使用args: any
明確將其定義為 any ,它應該停止將其顯示為錯誤:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.