Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeScript中React.Component的继承_Javascript_Reactjs_Class_Typescript - Fatal编程技术网

Javascript TypeScript中React.Component的继承

Javascript TypeScript中React.Component的继承,javascript,reactjs,class,typescript,Javascript,Reactjs,Class,Typescript,我试图从React.Component创建一个基类,并从基类创建两个类,如下所示: interface BaseItemProps { base_prop: string; } class BaseItem<P, T> extends React.Component<BaseItemProps, any> { } class ItemClass1 extends BaseItem<BaseItemProps, any> { } interfac

我试图从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> {
}
接口BaseItemProps{
基本属性:字符串;
}
类BaseItem扩展了React.Component{
}
类ItemClass1扩展了BaseItem{
}
接口ItemProps扩展了BaseItemProps{
项目名称:字符串;
}
类ItemClass2扩展了BaseItem{
}
问题是类ItemClass2没有将this.props视为ItemProps,而是将其视为BaseItemProps(this.props.item_prop不可用)。
我做错了什么?

您没有将属性的类型流到
React.Component
p
需要传递到
React.Component
,您可以使用约束来确保它扩展
BaseItemProps

class BaseItem<P extends BaseItemProps, T> extends React.Component<P, any> {
}
classbaseitem扩展React.Component{
}