Soporte de tipos de unión en retransmisión
Cuando ha definido el campo como una unión de dos tipos (en máquinas, por ejemplo, contiene barcos y droides), en Relay puede hacer algo así:
fragment on Faction@ relay(plural: true) {
name,
machines {
... on Ship {
name
}
... on Droid {
name,
primaryFunction
}
}
}
entonces, bajo las máquinas, sus objetos se evalúan correctamente, pero si desea hacerlo utilizando fragmentos de componentes externos:
fragment on Faction@ relay(plural: true) {
name,
machines {
${StarWarsShip.getFragment('ship')}
${StarWarsDroid.getFragment('droid')}
}
}
entonces terminas con definiciones de fragmentos en máquinas. Parece que está atrapado y no puede verificar qué objeto es qué tipo de matriz de máquinas, por lo que no puede decidir qué componente debe usarse.