微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

基于游标的分页无限重调用查询

如何解决基于游标的分页无限重调用查询

我想用 Apollo 实现基于游标的分页。我发出一个带有限制和游标的请求,该游标从一个非常高的数字开始,每次我收到响应时,我都会将游标更新为我返回的帖子的最低 ID。

const [cursor,setCursor] = useState(10000);

const {
    refetch: postsRefetch,networkStatus: postsNetworkStatus,data: postsData,fetchMore: postsFetchMore,} = useQuery(postsQuery,{
    fetchPolicy: 'cache-and-network',errorPolicy: 'ignore',notifyOnNetworkStatusChange: true,variables: {
      limit: ITEMS_PER_PAGE,cursor: 1000,},onCompleted: (res) => {
      if (res) {
        setCursor(
          res.posts.filter((post) => post).length
            ? Math.min(...res.posts.filter((post) => post).map((post) => Number(post.id)))
            : 0
        )
        setRefreshing(false)
      }
    },onError: (error) => {
      Toast.hide()
      Toast.show('Connection Failed.')
    },});

我认为它会无限地重新调用查询,因为我在查询onCompleted 中设置了一个查询变量,但是我还能如何跟踪光标?我需要在每个响应上更新它,我需要将它传递给查询

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。