【问题标题】:Weird issues with frontend apollo and graphql前端 apollo 和 graphql 的奇怪问题
【发布时间】:2020-12-03 17:04:12
【问题描述】:

我将 nuxt.js 与 apollo 一起使用。所以基本上我有一个按钮,当你按下按钮时,它会向 graphql 服务器发出请求。我第一次按下按钮时它工作得很好。但第二次它返回相同的数据。即使它第二次从未联系过服务器。我认为这与阿波罗错误地缓存数据有关。但我不知道如何解决它。有人知道如何解决这个问题吗?

【问题讨论】:

    标签: javascript vue.js graphql nuxt.js apollo


    【解决方案1】:

    要禁用缓存,您可以全局或针对特定查询执行此操作。

    全球:

    new ApolloClient({
      cache,
      link,
      defaultOptions: {
        fetchPolicy: 'no-cache'
      }
    })
    

    对于特定查询:

    apollo: {
      foo: {
        query: ...,
        fetchPolicy: 'no-cache'
      }
    }
    

    【讨论】:

    • 我刚试了一下,好像没有解决问题。缓存可能不是问题
    【解决方案2】:

    也可能是返回相同数据的 apollo 服务器设置。 请检查服务器端是否启用了任何缓存。

    cacheControl: { defaultMaxAge: 5 },

    defaultMaxAge 应该设置为 0 或者 cacheControl 根本不应该存在。

    【讨论】:

    • 我尝试在前端和后端禁用缓存。我不太确定它是否与缓存有关。
    猜你喜欢
    • 2022-10-25
    • 2020-09-04
    • 2018-04-12
    • 2020-08-23
    • 2021-04-26
    • 1970-01-01
    • 2022-08-02
    • 2021-12-08
    • 1970-01-01
    相关资源
    最近更新 更多