Поддержка ретрансляции на GraphQL Unions
У меня возникают проблемы при использовании React JS в сочетании с Relay JS и GraphQL, где он продолжает получать одно и то же сообщение об ошибке, несмотря на то, что запрос к GraphQL работает. Все работало нормально до того момента, когда мы решили использовать Unions от GraphQl. Теперь я могу получить данные из GraphQl, но он продолжает получать ошибку.
Я делаю этот запрос:
query {
node(id: "value"){
... on Node {
... on User {
name
email
domain {
... on Domain {
users(first: 100){
edges{
node{
... on User{
name
email
}
}
}
}
}
}
}
}
}
}
Предполагается получить объект от API, который является объединением
UserOrErrorsUnion {
User{
name
email
...
}
ErrorSet{
errors
}
}
Код реагирующего компонента следующий:
export class LoggedConnect {
...
}
export default translate(['common', 'root'], { wait: true })(
Relay.createContainer(LoggedConnect, {
fragments: {
user: () => Relay.QL`
fragment on UserOrErrorsUnion {
... on User {
name
id
email
}
}
`,
},
})
);
Ошибка вот эта:
(программа):36 Предупреждение: RelayReadyState: недопустимое изменение состояния с
{"aborted":false,"done":false,"error":{},"events":[{"type":"NETWORK_QUERY_START"},{"type":"CACHE_RESTORE_START"},{"type":"CACHE_RESTORE_FAILED"},{"type":"NETWORK_QUERY_ERROR","error":{}}],"ready":false,"stale":false}
в{"error":{}}
,
Я думаю, это потому, что реле получает два объекта и не знает, как с ними обращаться, поэтому состояние становится несовместимым