【发布时间】:2020-06-29 00:57:43
【问题描述】:
export interface IOptionsPropsExtra extends IOptionsProps<IOptionListBelowProps> { delete: any}
export const SelectedChoiceItem: (optionProps: IOptionsPropsExtra<IOptionListBelowProps>) => React.ReactElement<any> =
(optionProps: IOptionsPropsExtra<IOptionListBelowProps>) => {
return (
<Label className={styles.item}>
{optionProps.item.name}
<IconButton iconProps={{ iconName: 'Trash' }} onClick={optionProps.delete} />
</Label>
);
};
我编写了接口 IOptionsPropsExtra 以便能够传递一个称为 delete 并且是一个函数的额外参数,但这样做我得到:
类型“IOptionsPropsExtra”不是通用的。
我对接口以及如何扩展它们有什么误解吗?我认为扩展是基本继承,它允许您继承接口的所有属性,以便您可以在其之上添加任何新属性,这实际上就是我所做的一切。为什么我收到关于它不是通用的错误?它甚至应该是泛型类型吗?显然不应该给出我正在尝试做的事情,而且不是任何通用的东西,这与我在这里尝试做的事情背道而驰?
【问题讨论】:
标签: typescript