gpt4 book ai didi

react-apollo - RN Apollo Client 3.0 - 使用合并功能处理重新获取

转载 作者:行者123 更新时间:2023-12-04 01:17:32 25 4
gpt4 key购买 nike

我最近从 2.0 迁移到 apollo 客户端 3.0。

我有一个查询需要获取更多和分页。

通过做,

const cache = new InMemoryCache({
typePolicies: {
Query: {
fields: {
getData: {
// Handles incoming data
keyArgs: [],
merge(existing ={/*some default object fields*/}, incoming) {
return {
...existing,
pageInfo: incoming.pageInfo,
edges: [...existing.edges, ...incoming.edges],
};
},
},
},
},
},
});

我能够处理初始查询/提取和分页。但是,我在处理重新获取时遇到了麻烦。使用此合并功能,重新获取的数据将与现有缓存数据连接起来。我无法找到如何在合并功能中正确处理此问题。

如果有人知道如何处理这个问题,请告诉我。

最佳答案

我能够通过观察 args 来变通。

const cache = new InMemoryCache({
typePolicies: {
Query: {
fields: {
getData: {
// Handles incoming data
keyArgs: [],
merge(existing ={/*some default object fields*/}, incoming, {args}) {
if(args && !args.after){
// Initial fetch or refetch
return incoming;
}

// Pagination
return {
...existing,
pageInfo: incoming.pageInfo,
edges: [...existing.edges, ...incoming.edges],
};
},
},
},
},
},
});

关于react-apollo - RN Apollo Client 3.0 - 使用合并功能处理重新获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63108804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com