Firebase 我一直在尝试从Firestore检索数据到未来的Flatter构建器,但在第一次构建时,我收到了错误消息,我在刷新数据后得到了数据

Firebase 我一直在尝试从Firestore检索数据到未来的Flatter构建器,但在第一次构建时,我收到了错误消息,我在刷新数据后得到了数据,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,[在此处输入图像描述][2]Future\u getName异步{ 返回wait wait Firestore.instance.collectionadmin\u details.document\u username.get; } ════════ widgets库捕获到异常═══════════════════════════════════════════════════════ 生成FutureBuilderDarty时抛出以下NoSuchMethodError,状态:\u Futur

[在此处输入图像描述][2]Future\u getName异步{ 返回wait wait Firestore.instance.collectionadmin\u details.document\u username.get; }

════════ widgets库捕获到异常═══════════════════════════════════════════════════════ 生成FutureBuilderDarty时抛出以下NoSuchMethodError,状态:\u FutureBuilderState8f31b: 对null调用了方法“[]”。 收件人:空 已尝试呼叫:

导致错误的相关小部件是: 未来建设者file:///D:/Flutter/ecoleami1_0/lib/StudentActivity.dart:52:28 引发异常时,这是堆栈:

0 Object.nosuch方法省道:核心面片/对象面片。省道:53:5 1文档快照。[]包:cloud\u firestore/src/document\u snapshot.dart:31:42 2_StudentActivityPageState.build。套餐:ecoleami1\u 0/学生活动。dart:57:50 3_FutureBuilderState.build包:flatter/src/widgets/async.dart 4 StatefulElement.build包:flatter/src/widgets/framework.dart:4334:27 。。。 ════════════════════════════════════════════════════════════════════════════════════════════════════


有人能帮我吗?

我现在在打电话,所以我不是100%确定,但这可能是因为当连接状态不是“完成”时,您的代码返回null:


将“return null”行替换为返回文本“loading”

我猜这个错误是由于应用程序中的状态管理不好造成的

试试这个

StreamBuilder(
            stream: Firestore.instance
                .collection("admin_details")
                .document('name of the document')
                .snapshots(),
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                var username = snapshot.data;
                return Text(username['first_name']);
              }
            },
          ),

我在重新热加载应用程序后获取数据将您的firestore添加到我的firestore结构的questionImage中if snapshot.connectionState==connectionState.done{if snapshot.hasData{if snapshot.data!=null{return Textsnapshot.data['first_name'];}否则{return TextLoading…;}}else{return TextNo Data;}}}else{return TextLoading;}我尝试了你所说的,但问题仍然是相同的获得相同的错误,我在热重新加载后获得数据。你重建了应用程序吗?当他需要futurebuilder时,为什么要求他使用streambuilder?
StreamBuilder(
            stream: Firestore.instance
                .collection("admin_details")
                .document('name of the document')
                .snapshots(),
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                var username = snapshot.data;
                return Text(username['first_name']);
              }
            },
          ),