我尝试使用通用参数扩展React Component类,但是我无法使其正常运行。根据TypeScript文档和这个TypeScript Class Generic Parameter Constraints,以及这个extending a class with a generic T,我最终得到了以下(无效)代码:
基本类别:
class BaseView<P, S> extends React.Component<P, S> {
public constructor(props: P, state: S) {
super(props, state);
}
}
const mapStateToProps = store => {
console.log('store', store);
return {
store
};
};
function mapDispatchToProps(dispatch) {
console.log('dispatch', dispatch);
return {
};
}
export default connect(mapStateToProps, mapDispatchToProps)((BaseView as any));
export function subclass<P, S>(c): BaseView<P, S> {
return c;
}
扩展基本类的类:
我尝试了不同的方法,像这样使用工厂:
export class Documents extends subclass(BaseView)<DocumentsProperties, DocumentsState> {
// this leads into ""BaseView<{}, {}>" is no constructor function type
或不使用工厂:
export class Documents extends BaseView<DocumentsProperties, DocumentsState> {
// no base constructor has the specified number of type arguments
我也尝试了其他几种方法,但是我觉得这是我生命中的第一次编程。...我无法让它针对多个参数运行。我在这里想念什么?
问候梅塞比尔