我试图通过graphql从端点获取数据,当我第一次进入页面,页面呈现“正在加载”并在接收到来自查询的数据后打印出数据时,一切正常。
但是,如果我单击上一页按钮,然后再次返回到“ SiteMap”页面,则会发生错误。 错误是:
Exception has occurred.
NoSuchMethodError (NoSuchMethodError: The getter 'iterator' was called on null.
Receiver: null
Tried calling: iterator)
我的代码:
Query(
options: QueryOptions(
document: getSitemapsGSCQuery(),
),
builder: (QueryResult result,{VoidCallback refetch, FetchMore fetchMore}) {
if (result.errors != null) {
return Text(result.errors.toString());
}
if (result.loading) {
return Text('Loading');
}
print(result.data["sitemaps"]["sitemaps"]); // get null when entering second time
List _sitemaps = result.data["sitemaps"]["sitemaps"];
for (var sitemap in _sitemaps) { // get error here for "_sitemaps"
// do sth
}
},
)
作为一个新手入门的程序员,我不知道是什么原因引起的...