Ich teste FlowJS für mein Projekt, und ich habe ein Problem mit Type Aliases.FlowJS: Typen Vererbung
Ich baue einen Web-SDK für eine API: Ich habe eine Helper
Klasse mit dieser Methode:
class Helper {
find(filters:PaginationOptions = {}) {
// ...
}
}
PaginationOptions
ist ein grundlegender FlowJS Typ:
type PaginationOptions = {
start?:string,
end?:number,
};
ich auch einen Helfer für Benutzer habe , abgeleitet von Helper
:
class UsersHelper extends Helper {
find(filters:UsersFilterOptions = {}) {
// ...
}
}
UsersFilterOptions
ist ein FlowJS Typ "extending" PaginationOptions
:
type UsersFilterOptions = {
username?:string,
city?:string,
} & PaginationOptions;
ich hier verwenden, um eine Intersection so dass meine Benutzer Filter auch start
und end
Eigenschaften annehmen sollte.
Es scheint, dass meine IDE (PhpStorm) nicht wie meine find()
Methode aus meiner Klasse UsersHelper
, es sagt mir, dass:
Inkompatible Überschreibung sollte
Typ 'PaginationOptions' haben Nun ... ich weiß, deshalb hat UsersFilterOptions
eine Kreuzung mit PaginationOptions
.
Aber FlowJS zeigt mir auch zwei andere Warnungen:
Fluss: Eigenschaft
username
. Eigenschaft nicht im Objektliteral gefunden
Flow: Eigenschaftcity
. Eigenschaft nicht gefunden in Objektliteral
Ich verstehe nicht, warum ich diese Fehler haben: diese Eigenschaften werden als optional definiert ...
Haben Sie Vorschläge für die Festsetzung dieser drei Fehler?
Vielen Dank im Voraus!
@ nat-mote Darf ich wissen, warum das Tag 'flow-js' entfernt wurde? Bei dieser Frage geht es ausschließlich um "flow-js". Es ist ziemlich sinnlos, dieses Tag zu entfernen ... – KorHosik
Schauen Sie sich die Beschreibung für dieses Tag an, es ist für ein anderes Projekt, das nicht die Art des Flow-Checkers ist. Das Tag für das, was Sie wollen, ist FlowType: http://StackOverflow.com/Tags/Flow-Js/info –
Ok, danke für die Informationen :) – KorHosik