Как сделать кеш недействительным в apollo? - PullRequest
0 голосов
/ 26 июня 2018

Кто-нибудь знает, как выполнить аннулирование кэша в apollo?

Я устанавливаю подсказки кеша в резольверах:

export default (root, args, { userId }, { cacheControl }) => {
  cacheControl.setCacheHint({ maxAge: 60 });

  return userId && Meteor.users.findOne(userId);
};

Но если что-то меняется, и maxAge достаточно велико, изменения не будут отражены.

Я сейчас думаю о вызове cacheControl.setCacheHint({ maxAge: 0 }) в мутациях, есть ли другие способы сделать это?

1 Ответ

0 голосов
/ 16 июля 2019

Вы можете проверить это: https://github.com/lucasconstantino/apollo-cache-invalidation#readme

Вы можете использовать функцию соответствия

const randomKeyMatch = key => Math.random() >= 0.5

const update = invalidateFields(() => [
  [randomKeyMatch, 'happy']
])

client.mutate({ mutation, update })
...