J'écris un composant HOC pour les pages next.js, et ce HOC doit accepter un composant avec une fonction statique getInitialProps
spécifique.Comment entrer un React.ComponentType avec une propriété statique?
Je ne peux pas trouver la bonne frappe de ce flux avec:
const wrapComponent = (Component: React.ComponentType<*>) => {
const original: Function = Component.getInitialProps;
return class extends React.Component<*> {
static async getInitialProps(ctx) {
const props = await original(ctx);
return {
...props,
custom: 'a',
};
}
render() {
return <Component {...this.props} />;
}
}
}
Je reçois cette erreur:
5: const original: Function = Component.getInitialProps;
^property `getInitialProps`. Property not found in
5: const original: Function = Component.getInitialProps;
^statics of React$Component
React composants n'a jamais eu une méthode 'getInitialProps'. Si ce sont des composants spécifiques, alors vous devez taper 'Component' en tant que tel, pas comme' React.Component'. –
@FelixKling vous voulez créer une interface de classe? –
Cela fonctionnerait je suppose. –