[英]Typescript error around using generics using extends {}
type List<T> = {
items: T[];
clickHandler: (a: T) => void;
};
const List = <T extends {}>({
items,
clickHandler,
}: List<T>) => {
return (
<div>
{items.map((item, index) => (
<div key={index} onClick={() => clickHandler(item)}>
{item} // error is showing here
</div>
))}
</div>
);
};
export default List;
typescript 錯誤類型“T”不可分配給類型“ReactNode”。 類型“{}”不可分配給類型“ReactNode”。 類型“T”不可分配給類型“ReactPortal”。 類型“{}”缺少類型“ReactPortal”中的以下屬性:key、children、type、propsts(2322)
由於您將項目呈現為div
的子項,因此您也可以將其定義為
const List = <T extends JSX.IntrinsicElements['div']['children']>(
內部定義為React.ReactNode
的結果與@Svetoslav Retkov 的答案相同
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.