reactjs - 通过 __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 的 workItem?我目前正在尝试以下方法,但它不起作用。
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));
}
}
});
我在直接操作缓存方面很新,任何帮助将不胜感激!
解决方案
推荐阅读
- javascript - 无法在反应中获得输入的实际值
- json - 属性名称中带有“@”符号的 JSON 上的 MarkLogic XPath
- unit-testing - 如何编写单元测试用例为 ListenableFuture 添加回调
- pandas - 定义 ax 时 Dataframe.plot() 不起作用
- json - 在scala中使用for循环创建JSON文件
- keycloak - Keycloak 应用程序与客户端身份验证
- arrays - 如何检查一个对象是否是 TypeScript 中的只读数组?
- android - “根”推送通知协议
- android - 在静态字段警告中声明一个带有 Android 上下文类的枚举
- google-cloud-storage - 已删除文件,现在无法创建同名文件