首页 文章

Apollo GraphQl起反应 . 如何清除所有变量组合的查询缓存?

提问于
浏览
15

我在我的反应应用程序中使用apollo graphql . 说我有以下查询:

query ListQuery($filter: String!) {
   items(filter: $filter) {
     id
     name
   }
}

此查询允许我使用过滤器查询项目列表 . 假设我使用过滤字符串A,然后使用过滤字符串B.缓存现在包含两个条目:ListQuery(A)和ListQuery(B) .

现在让我们说我使用一个变异来添加一个新项目 . 如何从缓存中删除所有缓存的查询?所以在这种情况下,我想从缓存中删除ListQuery(A)和ListQuery(B) .

我怎么能做到这一点?

2 回答

  • -1

    在您的情况下,您可以使用apollo的方法client.resetStore();

    它将清除先前的缓存,然后加载活动查询 .

  • 5

    阅读有关获取政策的信息options.fetchPolicy

    • 编辑: -

    但是,如果您只想重置一个查询,那么它只是一个技巧 . 要重置所有商店,请参阅@Nitin的答案:将fetchPolicy设置为 network-only . 刷新查询 . 将其返回到您选择的选项 .

相关问题