Ich habe mehrere Fälle kennengelernt, in denen eine Bibliothek eine andere Bibliothek erweitert, insbesondere in meinen Anwendungen mit React und Redux.Überschreiben von TypeScript-Definitionen, die von anderen Bibliotheken erweitert wurden
Als Beispiel sagen, ich bin eine JS-Bibliothek, die eine Funktion ausgeführt, die wie folgt definiert werden:
function dispatch(action:IAction):void;
interface IAction {
type: string;
}
Und ich eine andere JS-Bibliothek, die die dispatch
Funktion verbessert die Rückrufe zu ermöglichen, die geeignet ist, wie folgt definiert werden:
function dispatch(action:IAction | IActionCallback):void;
interface IActionCallback {
(dispatch:IDispatch):void;
}
Das Problem ist, dass die zweite Bibliothek die erste Bibliothek erweitert. Wie kann dies in Typisierungen richtig ausgedrückt werden? Oder kann es sein?
Danke, immer noch versuchen, dies zu verdauen ... das Problem, das ich hier mit Redux Thunk habe, ist, dass, wenn ich {IDispatch} von "Redux" importiere, es nicht über die Redux-Thunk-Erweiterung zu wissen scheint damit Funktionen Aktionen sein können. Es funktioniert nur, wenn ich {IDispatch} von "~ redux-thunk ~ redux" importiere, was seltsam ist, und ich bin nicht sicher, ob es richtig ist, etwas zu importieren, da das kein echtes Modul ist. – Aaron