Ich mache mein erstes Flow-Projekt und ich bin mit einem "seltsamen" Verhalten fest.Flow verlieren Literaltyp in Kreuzung Typ
Hier ist ein minimalistischer Code, mein Problem zu reproduzieren
type PropBase = { name: string }
export type PropTyped =
| { type: 'string', value: string }
| { type: 'number', value: number }
export type Prop = PropBase & PropTyped
const p1: Prop = { name: 'prop1', type: 'string', value: 'coucou' };
// Error
const p2: Prop = p1;
Der Fehler ist:
10: const p2: Prop = p1;
^intersection type. This type is incompatible with
7: export type Prop = PropBase & PropTyped
^union: object type(s)
(Flow-v0.47.0, try flow)
Fluss der zu "verlieren" scheint wörtlicher Typ ... Aber warum? Mache ich etwas falsch ?
Ich habe eine Bearbeitung mit einem kleineren Beispiel eingereicht. Das ist definitiv ein Fehler. Fühlen Sie sich frei, ein Problem auf https://github.com/facebook/flow zu öffnen –
@NatMote Ich habe ein Problem geöffnet, aber ich habe Angst, dass es in der Vielzahl von anderen Fragen verloren gehen wird :-) –