GraphQL угловой аполлон-клиент.Ошибка чтения из кэша, но тот же запрос к серверу работает нормально - PullRequest
1 голос
/ 20 сентября 2019

Я пытаюсь запросить данные из кеша, который уже там.Я проверил с использованием плагина Apollo Chrome.

      const inCache = this.apollo.getClient().readQuery({
        query: gql`
          query {
            foo(id: "foo0") {
              id
              bar {
                id
              }
            }
          }
        `
      });

Ошибка выглядит следующим образом:

MyHtml.html:20 ERROR Invariant Violation: Can't find field id on object {
  "barSubResourses": [
    {
      "type": "id",
      "generated": false,
      "id": "SubResourse:subResourse3",
      "typename": "SubResourse"
    },
    {
      "type": "id",
      "generated": false,
      "id": "SubResourse:subResourse2",
      "typename": "SubResourse"
    }
  ],
  "__typename": "Bar"
}.

чтение из кэша работает нормально, если я не включаю субресурсыУ кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 23 сентября 2019

Наконец-то я нашел источник проблемы.Был запрос без идентификатора для Bar среди моих запросов.Я дважды проверил, что плагин Chrome все еще имеет данные идентификаторов для баров.Это выглядит как несоответствие.В любом случае, похоже, что существует практическое правило, спрашивающее id для каждой сущности в каждом запросе.

...