Flutter + Firestore 错误:无法无条件调用方法“[]”,因为接收器可以为“null”

时间:2021-06-08 09:49:57

标签: firebase flutter google-cloud-firestore

以下代码抛出此错误“无法无条件调用方法'[]',因为接收器可以为'null'”

if (snapshot.hasData == true) {
          return ListView(
            children: snapshot.data!.docs.map((DocumentSnapshot document) {
                return ListTile(
                  title:  Text(document.data()['title']),
                );
            }).toList(),
          );
        }

是否与空安全有关?怎么解决?

3 个答案:

答案 0 :(得分:1)

此问题与 Flutter 更新有关。

在最新的 Flutter 更新中,无需添加 .data()

从说明中的代码中删除.data() 可以解决问题。

答案 1 :(得分:1)

试试 doc.get('title')

代替 document.data()['title']

答案 2 :(得分:0)

document.data() 可能为 null。如果您确定 document.data() 不会为您返回 null,只需添加 document.data()!['title'](注意!)。