【发布时间】:2018-07-11 23:57:56
【问题描述】:
我在我的 React 应用程序中使用 react-apollo。现在需要分页来获取更多数据。独立于分页,如何更新updateQuery 或update 中的状态?将深层嵌套的数据结构视为不可变会使其冗长,但我不想为其添加帮助程序库。
fetchMore({
variables: {
cursor: cursor,
},
updateQuery: (previousResult, { fetchMoreResult }) => {
return {
...previousResult,
author: {
...previousResult.author,
articles: {
...previousResult.author.articles,
...fetchMoreResult.author.articles,
edges: [
...previousResult.author.articles.edges,
...fetchMoreResult.author.articles.edges,
],
}
}
}
},
改变previousResult 是否可以,还是违背了阿波罗的哲学?
const { pageInfo, edges } = fetchMoreResult.author.articles;
previousResult.author.articles.edges.concat(edges);
previousResult.author.articles.pageInfo = pageInfo;
return previousResult;
或者还有其他更新状态的方法吗?
【问题讨论】:
标签: apollo react-apollo apollo-client