Как я могу изменить запрос на fetchMore в Apollo Client? - PullRequest
0 голосов
/ 28 декабря 2018

Я отображаю таблицу, используя реагировать и Apollo Client.Допустим, мой запрос выглядит примерно так:

query {
  field1
  field2
  field3
}

В моей таблице есть выпадающий список, который позволяет вам выбирать столбцы, которые вы хотите видеть.Я пытаюсь использовать функцию fetchMore, чтобы получить новый результат.У fetchMore есть опция query, которая позволяет переопределить используемый вами запрос.Я выяснил, как изменить запрос с помощью регулярных выражений, чтобы мой запрос выглядел следующим образом

// field2 is now hidden
query {
  field1
  field3
}

, но так как я удаляю поля, а не просто изменяю переменные, отправленные в запрос, после того, как получаюРезультаты Клиенту Apollo не удается повторно отобразить страницу (путем обновления состояния реакции), и выдает следующее предупреждение:

Missing field fieldname1 in response
// in writeToStore.ts:194

Из этого я понимаю, что клиент Apollo не может обновить свой кэш, поскольку фактический запрос былмодифицирована.К сожалению, я не могу найти способ обновить кэш для этого результата одного запроса.

Мои зависимости:

"apollo-boost": "^0.1.19",
"apollo-cache-inmemory": "^1.3.12",
"react": "^16.0.0",
...