Ich möchte ein Objekt kopieren, während nur eine einzelne Eigenschaft geändert wird. Ohne Durchfluss, könnte ich dies tun das Objekt Ausbreitung Operator wie folgt aus:Objektspreizer in Flow
class Point { x: number = 10; y: number = 10; }
const p1 = new Point();
const p2 = {...p1, y: 5};
Aber wenn ich hinzufügen Typenannotationen auf P1 und P2 wie folgt aus:
const p1 = new Point();
const p2 = {...p1, y: 5};
bekomme ich folgende Fehlermeldung:
11: const p2:Point = {...p1, y: 5};
^^^^^^^^^^^^^ object literal. This type is incompatible with
11: const p2:Point = {...p1, y: 5};
^^^^^ Point
Wie würde ich diese Art von Operation auf eine Art sichere Weise in Flow erreichen?
Als Beispiel in Elm, ich kann dies tun:
p2 = { p1 | y = 5 }
Es muss ein entsprechender Betrag in Fluss sein.
Also was wäre der typsichere Flow-Weg, um dies zu tun? –
Oh Entschuldigung. Ich habe nicht bemerkt, dass das, was du gezeigt hast, einen Typ anstelle einer Klasse benutzt. Das * beantwortet * die Frage. –