在 null Flutter Firebase 上调用了 getter 'documents' [重复]

Posted

技术标签:

【中文标题】在 null Flutter Firebase 上调用了 getter \'documents\' [重复]【英文标题】:The getter 'documents' was called on null Flutter Firebase [duplicate]在 null Flutter Firebase 上调用了 getter 'documents' [重复] 【发布时间】:2021-02-05 05:39:30 【问题描述】:

当我按下聊天标签时。它会在检索数据之前显示错误几秒钟。

getter 'documents' 在 null 上被调用。

接收者:空

尝试调用:文档

      Widget chatRoomsList() 
    return StreamBuilder(
      stream: chatRooms,
      builder: (context, snapshot) 
        print(snapshot.data.documents.length);

        return snapshot.hasData ? ListView.builder(
                itemCount: snapshot.data.documents.length,
                shrinkWrap: true,
                itemBuilder: (context, index) 
                  return ChatRoomsTile(
                    userName:snapshot.data.documents[index].data['chatRoomId'].toString().replaceAll("_", "").replaceAll(Constants.myName, ""),
                    chatRoomId: snapshot.data.documents[index].data["chatRoomId"].toString(),
                  );
                )
            : Container();
      ,
    );
  

我试过这个。还是一样的错误。

    Widget chatRoomsList() 
    return StreamBuilder(
      stream: chatRooms,
      builder: (context, snapshot) 
        print(snapshot.data.documents.length);
if(snapshot.hasData)
  return ListView.builder(
      itemCount: snapshot.data.documents.length,
      shrinkWrap: true,
      itemBuilder: (context, index) 
        return ChatRoomsTile(
          userName:snapshot.data.documents[index].data['chatRoomId'].toString().replaceAll("_", "").replaceAll(Constants.myName, ""),
          chatRoomId: snapshot.data.documents[index].data["chatRoomId"].toString(),
        );
      );

else
  
        return Container();
  

      ,

【问题讨论】:

要将答案标记为已接受,请单击答案旁边的复选标记以将其从灰色切换为已填充:) 【参考方案1】:

当它为空时,您正在尝试打印 snapshot.data 的文档。如果快照有数据,您可以打印它。像这样更改代码:

     if(snapshot.hasData)
        print(snapshot.data.documents.length);
    

【讨论】:

好的,现在您可以接受并投票赞成答案:) 我希望我能。购买我的声誉低于 15 :( 现在你可以做到了:)

以上是关于在 null Flutter Firebase 上调用了 getter 'documents' [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Firebase 在 null 上调用了方法“数据”

在 null Flutter Firebase 上调用了 getter 'documents' [重复]

Firebase 云函数在 Flutter 中返回 null,因为它仍在运行

Flutter Firebase auth 用户在设备上不是持久的

Flutter error:尝试在空对象引用上调用虚方法'void com.google.firebase.auth.internal.zzab.zzf(int)',null(示例代码

Flutter firebase 登录用户在登录后返回 NULL currentUser