【问题标题】:Flutter + Firestore error: The method '[]' can't be unconditionally invoked because the receiver can be 'null'Flutter + Firestore 错误:无法无条件调用方法“[]”,因为接收器可以为“null”
【发布时间】:2021-06-08 09:49:57
【问题描述】:

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

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

它与空安全有关吗?如何解决?

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    此问题与 Flutter 更新有关。

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

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

    【讨论】:

      【解决方案2】:

      试试 doc.get('title')

      而不是 document.data()['title']

      【讨论】:

        【解决方案3】:

        您还可以使用dynamic 转换值,例如:

        (document.data()['title'] && document.data() as dynamic)['title']
        

        【讨论】:

          猜你喜欢
          • 2021-08-10
          • 1970-01-01
          • 2021-09-05
          • 2023-03-05
          • 1970-01-01
          • 2021-10-05
          • 1970-01-01
          • 2021-09-16
          • 2021-09-18
          相关资源
          最近更新 更多