【问题标题】:Merge policy control Apollo Client合并策略控制 Apollo Client
【发布时间】:2021-09-01 00:55:06
【问题描述】:

有没有办法告诉 apollo 只有在使用 fetchMore 方法后才调用合并策略?我用它来实现无限滚动并将现有和传入的数据粘在一起,这对我来说非常有用。但是当我使用 writeQuery 方法手动更改缓存时,合并策略也会在该操作之后执行,这会导致重复数据。

【问题讨论】:

    标签: apollo apollo-client react-apollo


    【解决方案1】:

    您可以访问合并函数中的变量。

    如果fetchMore 具有writeQuery 没有的特定分页变量,您可以决定仅为fetchMore 连接传入的结果:

    例如,如果 fetchMore 使用 nextToken 变量:

    typePolicies: {
          Query: {
            fields: {
              myQuery: {
                keyArgs: false,
                merge: (existing = [], incoming = [], { args }) => {
                  if (args?.nextToken === undefined) return incoming
                  return [...existing, ...incoming]
                }
              },
    

    【讨论】:

      猜你喜欢
      • 2021-08-11
      • 2018-09-08
      • 2021-02-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-15
      • 2010-12-04
      相关资源
      最近更新 更多