【问题标题】:How to remove nested object form apollo cache?如何从阿波罗缓存中删除嵌套对象?
【发布时间】:2021-08-01 16:21:29
【问题描述】:

Official doc 表示使用cache.evict() 删除缓存数据,但没有关于嵌套对象的解释。例如,让我们考虑一下ROOT_QUERY,如下所示。

ROOT_QUERY: {
  analysis: {
    receipts: { 
      ...
    }
  }
}

我可以使用cache.evict() 删除analysis 字段。

cache.evict({ id: 'ROOT_QUERY', fieldName: 'analysis' });

但是,如何删除receipts 字段?

【问题讨论】:

    标签: caching apollo-client


    【解决方案1】:

    您可以将cache.modify 用于嵌套对象。

    cache.modify({
      id: 'ROOT_QUERY',
      fields: {
        analysis(existing) {
          return {
            ...existing,
            receipts: undefined
          };
        }
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2021-09-09
      • 2019-02-20
      • 2021-08-20
      • 2018-01-13
      • 2013-02-02
      • 2021-12-28
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多