分页缓存的数据

时间:2018-09-25 23:42:03

标签: apollo-client

来自文档的示例代码:

const FeedData = ({ match }) => (
  <Query
    query={FEED_QUERY}
    variables={{
      type: match.params.type.toUpperCase() || "TOP",
      offset: 0,
      limit: 10
    }}
  >
    {({ data, fetchMore }) => (
      <Feed
        entries={data.feed || []}
        onLoadMore={() =>
          fetchMore({
            variables: {
              offset: data.feed.length
            },
            updateQuery: (prev, { fetchMoreResult }) => {
              if (!fetchMoreResult) return prev;
              return Object.assign({}, prev, {
                feed: [...prev.feed, ...fetchMoreResult.feed]
              });
            }
          })
        }
      />
    )}
  </Query>
);

如果按下Feed中的按钮并将其附加在结果上,则可以加载更多结果,无限加载非常好。但是,如果用户离开并返回,则会显示每个缓存的项目(不使用偏移量)。

如何对未缓存的数据进行分页?

0 个答案:

没有答案