我试图从React.Component创建一个基类,并从基类创建两个类,如下所示:
interface BaseItemProps {
base_prop: string;
}
class BaseItem<P, T> extends React.Component<BaseItemProps, any> {
}
class ItemClass1 extends BaseItem<BaseItemProps, any> {
}
interface ItemProps extends BaseItemProps {
item_prop: string;
}
class ItemClass2 extends BaseItem<ItemProps, any> {
}
问题是类ItemClass2没有看到this.props作为ItemProps而是作为BaseItemProps(this.props.item_prop不可用)。 我做错了什么?
答案 0 :(得分:1)
您没有将属性的类型转移到React.Component
,P
需要传递给React.Component
,您可以使用约束来确保它扩展BaseItemProps
class BaseItem<P extends BaseItemProps, T> extends React.Component<P, any> {
}