我正在尝试使用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)