Es gibt eine question on SO über das Erstellen eines Arrays mit verschiedenen Typen, aber ich möchte ein Array mit mehreren komplexen Typen erstellen. Die Antwort in der Frage zu verknüpften empfiehlt die Verwendung eines Union-Typ, aber ich glaube nicht, dass für eine komplexe Art genügen, wie typescript documentation sagtein Array mit mehreren komplexen Typen
If we have a value that has a union type, we can only access members that are common to all types in the union.
ich eine Reihe von Reports erstellen möchten. Einige der Berichte haben jedoch voneinander verschiedene Eigenschaften und auch mehrere Gemeinsamkeiten. Ich mache mir Sorgen, wenn ich es so erstelle wie unten, dann könnte ich irgendwo im Code nicht auf die verschiedenen Eigenschaften der Unterberichte zugreifen können.
Was ist die empfohlene Methode zum Erstellen eines Arrays komplexer Typen in Typescript?
interface Reports extends Array<Report>{}
interface Report {
id: number;
timestamp: number;
type: string;
subreport: SubReportA | SubReportB | SubReportC
}
interface SubReportA {
values: []
}
interface SubReportB {
random_property: number;
other_random_name: number;
}
interface SubReportC{
values: [];
name: string;
}
Sollte nicht 'SubReportA' usw. sein Subklassen von' SubReport', und dann haben Sie gerade 'subreport: Subreport'? –
Können Sie ein Beispiel geben, wie Sie Ihr Array verwenden möchten? – Rodris
@RodrigoPedrosa Karte darüber und rendern jedes Mitglied in einer Berichtskomponente in einer Liste. – Leahcim