在构建 StreamBuilder<QuerySnapshot> 时引发了以下 NoSuchMethodError

Posted

技术标签:

【中文标题】在构建 StreamBuilder<QuerySnapshot> 时引发了以下 NoSuchMethodError【英文标题】:The following NoSuchMethodError was thrown building StreamBuilder<QuerySnapshot> 【发布时间】:2021-02-16 09:24:45 【问题描述】:

我尝试在我的应用程序中实现 Streambuilder,但在尝试我的代码时出现错误。这是我得到的错误:

在构建 StreamBuilder(dirty, state: _StreamBuilderBaseState#be008) 时引发了以下 NoSuchMethodError: 在 null 上调用了 getter 'documents'。 收件人:空 尝试调用:文档

这是我尝试过的代码:

 @override
  Widget build(BuildContext context) 
    return Scaffold(
      appBar: AppBar(
        title: Text('Test'),
      ),
      body: StreamBuilder(
        stream: Firestore.instance
            .collection('test')
            .document('OrRPMJJyPCThMYMi0mUl')
            .collection('test')
            .snapshots(),
        builder: (context, snapshot) 
          return ListView.builder(
            itemCount: snapshot.data.documents.length,
            itemBuilder: (context, index) 
              DocumentSnapshot reservation = snapshot.data.documents[index];
              return ListTile(
                title: Text(test['name']),
              );
            ,
          );
        ,
      ),
    );

【问题讨论】:

【参考方案1】:

报错说明snapshot返回null,请确认查询是否正确,很有可能是你的这部分查询不正确document('OrRPMJJyPCThMYMi0mUl')。

【讨论】:

【参考方案2】:

尝试documents 而不是document

【讨论】:

以上是关于在构建 StreamBuilder<QuerySnapshot> 时引发了以下 NoSuchMethodError的主要内容,如果未能解决你的问题,请参考以下文章

在构建期间调用 setState() 或 markNeedsBuild(),使用 FutureBuilder 中的 Provider 和 Flutter 中的 StreamBuilder

StreamBuilder 为每次更新构建两次快照

Flutter:从 StreamBuilder 构建器回调内部导航到另一个屏幕

FutureBuilder 与 Streambuilder

Flutter BLoC:构建()方法中 StreamBuilder 中的 Navigator.pop

如何访问 StreamBuilder 中的多个流?