Поддержка ретрансляции на 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":{}},

Я думаю, это потому, что реле получает два объекта и не знает, как с ними обращаться, поэтому состояние становится несовместимым

0 ответов

Другие вопросы по тегам