加载数据时出现错误屏幕 Flutter/Dart/FireBase

Getting Error screen while data loading Flutter/Dart/FireBase

我的页面中有 3 个 dart 文件。我有2页。 当我从 firebase 获取第二页的数据时,我得到的错误屏幕比我的数据加载时间还短。我检查了错误消息,它说我的数据为空。 我试过这样的循环进度指示器

return StreamBuilder(
    stream: Firestore.instance.collection(UserInformation).document(user.uid).snapshots(),
    builder: (context, snapshot) {
    //==========show progress============
     if (!snapshot.hasData) {
        return CircularProgressIndicator()            
      }
      var userDocument = snapshot.data;
      // User userDocument here ..........

但是没用。

这是我从 firebase 获取数据的区域;


class GuessPage extends StatefulWidget {
  late String topicname;
  GuessPage({required this.topicname});
  setType(String topic) {
    var questionsOf;
    CollectionReference questionsRef =  FirebaseFirestore.instance.collection('questionSports');
    if (topic=='Sports'){
       questionsOf =  questionsRef.doc('questionS');
    }else if(topic=='Magazine'){
       questionsOf =  questionsRef.doc('questionM');
    }
    print(questionsOf);
    return questionsOf;
  }

  @override
  State<GuessPage> createState() => _GuessPageState();
}

这是我初始化 firebase 的主要 dart 文件

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  final Future<FirebaseApp> _initialization = Firebase.initializeApp();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        theme: ThemeData.dark(),
        home: FutureBuilder(
            future: _initialization,
            builder: (context, snapshot) {
              if (snapshot.hasError) {
                return Center(
                  child: Text('Unexpected Error'),
                );
              } else if (snapshot.hasData) {
                return InputPage();
              } else {
                return Center(
                  child: CircularProgressIndicator(),
                );
              }
            }));
  }
}

我猜你使用的是旧版本的 Firestore 包。

从 pub.dev 获取最新版本的 Firestore,就在此处:https://pub.dev/packages/cloud_firestore

然后从这里检查包的使用情况:https://firebase.flutter.dev/docs/firestore/usage