Я использую apollo-client
для своей настройки graphql. У меня есть вызов с разбивкой на страницы, для которого я использую функцию fetchMore
, возвращаемую хуком useQuery
. В функции fetchMore
я использовал ее параметр updateQuery
для добавления новых извлеченных данных к результатам в кеше.
fetchMore({
variables: {
request: fetchMorerequest,
},
updateQuery: (previousResult, { fetchMoreResult }) => {
const updatedResults = update(previousResult, {
list: {
data: { $push: fetchMoreResult.list.data },
hasMore: { $set: fetchMoreResult.list.hasMore },
},
});
return updatedResults;
},
});
Это работало нормально для меня.
Теперь я изменил свой fetchPolicy
с cache-first
по умолчанию на cache-and-network
. После этого изменения updatedResults
, которые я возвращаю из своей функции updateQuery
, отражаются в моем кеше, но не возвращаются в моем компоненте. я вижу обновленные элементы в своем кеше в расширении apollo в chrome. Но не получить их в моем компоненте.
Любая идея, что может быть проблемой здесь? Я что-то упускаю? Пожалуйста помоги.