首页 > 解决方案 > 如何获取 Firebase 快照长度?

问题描述

我用 Firebase 创建了一个应用程序,但我遇到了一个问题,那就是我

无法计算 listview.builder 中的快照长度。

StreamBuilder(
        stream:
            _firestore.collection('/posts/${widget.uid}/comments').snapshots(),
        builder: (context, snapshot) {
          final data = snapshot.data.documents;

          if (!snapshot.hasData) {
            return SpinKitChasingDots(
              color: Colors.lightGreen,
            );
          }
          return ListView.builder(
            itemCount: snapshot.data.documents.length,//Here is the problem
            itemBuilder: (context, index) {
              return PostComment(
                commentText: data[index]['commentText'],
                userImage: data[index]['userImage'],
                userName: data[index]['userName'],
              );
            },
          );
        },
      ),

当我运行它给我一个错误,它实际上没有一个叫做长度的吸气剂。

标签: arraysfirebaseflutterdartgoogle-cloud-firestore

解决方案


尝试在你的显式声明类型StreamBuilder

StreamBuilder<QuerySnapshot>(
        stream: _firestore.collection('...').snapshots(),

https://dart.dev/guides/language/sound-problems#runtime-errors


推荐阅读