小编pok*_*oka的帖子

很好地利用FetchMore GQL进行无限滚动分页ListView与Flutter

我正在尝试使用graphql-flutter库创建来自 GraphQL API 的元素的 ListView 。

第一页的构建正常。然后当我开始滚动时,结果会很好,我的 ListView 显示第二页,然后第三页等......正确。

问题是,从第二个页面加载开始,就出现了问题。FetchMore 函数似乎在每个页面加载时构建多个请求。就像之前加载的所有页面都再次加载一样,越来越多。

奇怪的是,正如我所说,显示列表的结果在几个页面中都是正确的,然后突然列表从上一页循环回来,然后继续继续......

这是我的查询小部件:

Query(
  options: QueryOptions(
    document: gql(getHistory),
    variables: <String, dynamic>{
      'pubkey': this.pubkey,
      'number': nRepositories,
      'cursor': null
    },
  ),
  builder: (QueryResult result, {refetch, FetchMore fetchMore}) {
    if (result.isLoading && result.data == null) {
      return const Center(
        child: CircularProgressIndicator(),
      );
    }

    if (result.hasException) {
      return Text('\nErrors: \n  ' + result.exception.toString());
    }

    if (result.data == null && result.exception.toString() == null) {
      return const Text('Both data and errors are null');
    }

    final …
Run Code Online (Sandbox Code Playgroud)

graphql flutter

5
推荐指数
1
解决办法
2528
查看次数

标签 统计

flutter ×1

graphql ×1