getter 'documents' 被调用为 null

The getter 'documents' was called on null

我正在使用 flutter 和 firebase 制作待办事项列表。即使在我检查了我的 snap.data == null 之后它仍然向我显示此错误。但我不确定为什么仍然不起作用。

请帮忙。我已经检查过类似的问题,但仍然没有解决 对不起我的英语

 body: StreamBuilder(
 
      stream: Firestore.instance.collection("MyTodos").snapshots(),
      builder: (context, snapshots) {
        return ListView.builder(
   
          shrinkWrap: true,
          itemCount: snapshots.data.documents.length,
          itemBuilder: (context, index) {
            DocumentSnapshot documentSnapshot =
                snapshots.data.documents[index];
            return Dismissible(
              key: Key(index.toString()),
              child: Card(
                child: ListTile(
                  title: Text(documentSnapshot["todoTitle"]),
                  trailing: IconButton(
                    icon: Icon(Icons.delete),
                    onPressed: () {
                      setState(() {
                        todos.removeAt(index);
                      });
                    },
                  ),
                ),
              ),
            );
          },
        );
      },
    )

StreamBuilder 在获取任何数据之前有一个默认状态,您需要检查这个状态,这样您就不会尝试使用尚不存在的数据进行构建。您可以通过选中 snapshots.hasDatasnapshots.data == null:

来完成此操作
StreamBuilder(
  ...
  builder: (context, snapshots) {
    if (!snapshots.hasData) {
      return CircularProgressIndicator();
    }
    else {
      return ListView.builder(
        ...
      );
    }
  },
),