简体   繁体   English

如何修复 flutter firestore stream 构建器错误?

[英]How to fix flutter firestore stream builder error?

I tired to get data from firestore in flutter app.我厌倦了从 flutter 应用程序中的 firestore 获取数据。

This is my code这是我的代码

body: StreamBuilder(
          stream:
              FirebaseFirestore.instance.collection('my_contact').snapshots(),
          builder: (context, AsyncSnapshot<QuerySnapshot> streamSnapshot) {
            return ListView.builder(
              itemCount: streamSnapshot.data.docs.length,
              itemBuilder: (ctx, index) => SettingRowWidget(
                "Call",
                vPadding: 0,
                showDivider: false,
                onPressed: () {
                  Utility.launchURL((streamSnapshot.data.docs[index]['phone']));
                },
              ),
            );
          },
        )); 

and this code getting right data but problem is i'm getting error like this.这段代码得到了正确的数据,但问题是我遇到了这样的错误。

════════ Exception caught by widgets library ═══════════════════════════════════
The following NoSuchMethodError was thrown building StreamBuilder<QuerySnapshot>(dirty, state: _StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot<QuerySnapshot>>#7adda):
The getter 'docs' was called on null.
Receiver: null
Tried calling: docs

I dont know how to solve it.我不知道如何解决它。 Can anyone guide me to solve this?谁能指导我解决这个问题?

Check if it's null while loading the data from firestore从firestore加载数据时检查它是否是null

StreamBuilder(
        stream:
        FirebaseFirestore.instance.collection('my_contact').snapshots(),
        builder: (context, AsyncSnapshot<QuerySnapshot> streamSnapshot) {
          if (!streamSnapshot.hasData) return Center();
          if (streamSnapshot.data.docs.length!=0) {
            return ListView.builder(
              itemCount: streamSnapshot.data.docs.length,
              itemBuilder: (ctx, index) => SettingRowWidget(
                "Call",
                vPadding: 0,
                showDivider: false,
                onPressed: () {
                  Utility.launchURL((streamSnapshot.data.docs[index]['phone']));
                },
              ),
            );
          }else{
            return Center(child:Text('No data found'));
          }
    
        },
      ));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在 flutter 的 stream 构建器中切换 Firestore 查询? - How to switch firestore queries in stream builder in flutter? Stream builder 从 firestore 到 flutter - Stream builder from firestore to flutter 如何在 flutter stream 生成器中使用不同的 firestore 集合创建 where 条件? - How to make where condition with different firestore collection in flutter stream builder? 如何在 Firestore 中使用 Flutter(网络应用)流构建器 - How to use Flutter (web app) stream builder with Firestore Flutter Stream Builder with Firestore 返回空列表 - Flutter Stream Builder with Firestore return empty list 如何从 Firestore flutter 的参考字段中获取值并在 stream 构建器中显示? - How to get value from reference field in firestore flutter and display in stream builder? Stream 构建器在使用 Firestore 发布的 flutter 应用程序上返回 null - Stream builder returns null on released flutter app using firestore 如何修复 Firestore Flutter 依赖项错误? - How do I fix Firestore Flutter dependencies error? Flutter 表单生成器和firestore - Flutter Form Builder and firestore Flutter/Firestore/Provider - 瞬间显示错误,然后显示 stream,如何在启动时加载 stream 值? - Flutter/Firestore/Provider - Error shown for split second then stream displayed, how can I load stream values on startup?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM