Ich übertrage ein Projekt auf Typescript und stoße auf ein Problem. Ich benutze eine Drittanbieter-Bibliothek react-async-script-loader, also schreibe ich eine Typdefinitionsdatei dafür. Die Bibliothek exportiert eine Komponente höherer Ordnung, aber ich habe Probleme, sie in der Typdefinitionsdatei auszudrücken.Typescript: Typdefinitionen für Komponenten höherer Ordnung
Hier ist die Datei, die ich jetzt haben:
declare module 'react-async-script-loader' {
import { Component } from 'react';
class ElementClass extends Component<any, any> {}
interface ClassDecorator {
(component: ElementClass): ElementClass;
}
function scriptLoader(url: string): ClassDecorator;
export default scriptLoader;
}
ich die Funktion so etwas wie dieses bin Aufruf:
import * as scriptLoader from 'react-async-script-loader';
...
export default scriptLoader(url)(MyComponent);
Allerdings bin ich an der export default
Anweisung diesen Fehler:
Ich kann nicht ganz verstehen, was das verursacht, da die Funktion ich Exportin bin g nimmt eine Zeichenfolge an und scheint eine Funktion zurückzugeben, die eine Komponente übernimmt und eine Komponente ausgibt.
, die den Trick tat! Klingt, als müsste ich auffrischen, wie Exporte funktionieren. Ich hatte den Eindruck, dass "import * als x aus" y "und" x von "y" importieren äquivalent waren. – jjwon