通过 __ref id 查找 apollo 缓存项

问题描述

我试图通过它包含的 __ref 的 id 来定位一个 apollo 缓存项。 我的缓存片段如下:

WorkItem:b6b09053-75d2-4b16-a1e2-06c652892203:
id: "b6b09053-75d2-4b16-a1e2-06c652892203"
name: "accept_objective"
subject: {__ref: "Objective:7fdd9233-fb6d-487f-b6e6-0d2879168800"}
__typename: "WorkItem"

我在应用程序的这个页面上只有目标 ID。我怎样才能找到并丢弃带有我拥有的目标 ID 的 subject.__ref 的工作项?我目前正在尝试以下操作,但它不起作用。

cache.modify({
          id: cache.identify({
            __typename: 'User',id: id
          }),fields: {
            workItems(existing: Reference[],{ readField }): Reference[] {
              //@ts-ignore
              const workItemId = existing.map(workItem => workItem.subject.id == objectiveId)
              //@ts-ignore
              return existing.filter((e: Reference) => readField('id',e !== workItemId));
            }
          }
        });

我对直接操作缓存很陌生,任何帮助将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)