Я пытаюсь расширить класс React Component с помощью универсальных параметров, но я не могу заставить его работать.Согласно документам TypeScript и этим ограничениям общего параметра класса TypeScript , и этому расширению класса с помощью универсального 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
Я также попробовал несколько других способов, но мне кажется, что я программировал впервые в жизни .... Я не могу запустить егодля нескольких параметров.Чего мне здесь не хватает?
привет Messerbill