nterstützung für @Union-Typen in Relay
Wenn Sie ein Feld als eine Vereinigung von zwei Typen definiert haben (in einem Beispiel enthalten Maschinen Schiffe und Droiden), können Sie in Relay so etwas tun:
fragment on Faction@ relay(plural: true) {
name,
machines {
... on Ship {
name
}
... on Droid {
name,
primaryFunction
}
}
}
so unter machines prop werden deine Objekte korrekt ausgewertet, aber wenn du das mit Fragmenten von externen Komponenten machen willst:
fragment on Faction@ relay(plural: true) {
name,
machines {
${StarWarsShip.getFragment('ship')}
${StarWarsDroid.getFragment('droid')}
}
}
dann erhalten Sie Fragmentdefinitionen unter Maschinen. Sie scheinen gefangen zu sein und können nicht überprüfen, welches Objekt von welchem Typ im Maschinenarray ist, sodass Sie sich nicht entscheiden können, welche Komponente verwendet werden soll.