Клиент Apollo / React Объект данных Apollo, предоставляемый хуком useQuery, отличается от объекта ответа в запросе xhr - PullRequest
0 голосов
/ 17 октября 2019

Объект данных, предоставляемый из ловушки useQuery, отличается от объекта ответа в запросе xhr запросов. Данные, изменяемые, указываются. Запрос работает в Graphql-Playground с теми же переменными.

Запрос в вопросе:

query GetThing($parentId: String!, $otherId: ID!) {
    getParent(parentId: $parentId, otherId: $otherId) {
      id
      containers{
        id
        objects{
          id
          things{
            id
            done ----- This boolean is being mutated between getting the response object and returning data object
          }
        }
      }
    }
  } 

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

Я ожидаю, что объект данных будет соответствовать объекту ответа, но это не так. Где-то вдоль линии apollo-client последовательно изменяет это логическое значение непоследовательным образом. Я имею в виду, что это происходит последовательно, казалось бы, случайным образом. Изменяет ли клиент apollo данные каким-либо образом?

РЕДАКТИРОВАТЬ: я определил, что это происходит из-за того, как клиент apollo обрабатывает много-много отношений. Клиент Apollo будет синхронизировать многие отношения, что, хотя и поддерживает актуальность кэша, не позволяет добавлять дополнительные данные из отношения многие ко многим. У меня есть много ко многим отношениям пользователей и задач, с дополнительными данными, если пользователь пометил задачу как выполненную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...