Я отображаю таблицу, используя реагировать и 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",