第二次进入页面时,无法从graphql接收数据

时间:2019-12-09 08:37:00

标签: flutter graphql

我试图通过graphql从端点获取数据,当我第一次进入页面,页面呈现“正在加载”并在接收到来自查询的数据后打印出数据时,一切正常。

enter image description here

但是,如果我单击上一页按钮,然后再次返回到“ 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
    }
  },
)

作为一个新手入门的程序员,我不知道是什么原因引起的...

0 个答案:

没有答案