Поддержка типов типов в Relay

Если вы определили поле как объединение двух типов (например, машины содержат Ships и Droid), тогда в Relay вы можете сделать что-то подобное:

fragment on Faction@ relay(plural: true) {
  name,
  machines {
    ... on Ship {
      name
    }
    ... on Droid {
      name,
      primaryFunction
    }
  }
}

Таким образом, при использовании машин ваши объекты правильно оцениваются, но если вы хотите сделать это, используя фрагменты из внешних компонентов:

fragment on Faction@ relay(plural: true) {
  name,
  machines {
    ${StarWarsShip.getFragment('ship')}
    ${StarWarsDroid.getFragment('droid')}
  }
}

тогда вы в конечном итоге с определениями фрагментов под машины. Похоже, вы попали в ловушку и не можете проверить, какой объект какого типа в массиве машин, поэтому вы не можете решить, какой компонент следует использовать.

Ответы на вопрос(1)

Ваш ответ на вопрос