-Code hereFlow - Kreuzung mit Überwurftypen Fehler: „Eigentum nicht auf jedem Mitglied des Kreuzungstypen zugegriffen werden kann“
versucht wird, kann ich einen Typen, der eine Kreuzung von Union-Typ ist:
type Location = {
latitude: number,
longitude: number
} & ({
locationType: 'country',
country: string
} | {
locationType: 'state',
state:string
})
ich eine andere Funktion haben, die etwas auf einer der Union-Typen nicht zugrunde gelegt:
const getLocationValue = (location: Location): string => {
if (location.locationType === 'country')
return location.country
else
return location.state
}
jedoch gibt dies mir den Fehler:
property
country
. Property cannot be accessed on any member of intersection type
^Eigenschaft state
. Auf die Eigenschaft kann auf keinem Mitglied des Schnittstellentyps zugegriffen werden
Flow sollte verstehen können, dass, wenn locationType ein Land ist, eine Ländereigenschaft vorhanden sein sollte.
Was mache ich falsch?