我正在构建一个Flutter应用程序。尝试添加Firebase数据库时,会出现此错误并显示空白屏幕
[ERROR:flutter / lib / ui / ui_dart_state.cc(166)]未处理的异常:类型“ FirebaseFirestore”不是类型“ Firestore”的子类型
下面是我的main.dart代码:
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:sokoni/src/providers/auth.dart';
import 'package:sokoni/src/screens/Login.dart';
import 'package:sokoni/src/screens/home.dart';
import 'package:sokoni/src/widgets/loading.dart';
import 'package:firebase_core/firebase_core.dart';
void main() async{
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
//we call our Multiproviders so that our App can recognize the providers we've used.
runApp(
MultiProvider(
providers:[
ChangeNotifierProvider.value(
value: AuthProvider.initialize()
)
],
child:MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Sokoni',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: ScreensController(),
)
));
}
class ScreensController extends StatelessWidget{
@override
Widget build( BuildContext context) {
final user = Provider.of<AuthProvider>(context);
switch(user.status){
case Status.Uninitialized:
return Loading();
case Status.Unauthenticated:
case Status.Authenticating:
return LoginScreen();
case Status.Authenticated:
return HomePage();
default: return LoginScreen();
}
}
}
答案 0 :(得分:1)
我遇到了类似的问题,解决了,所以回答以防万一有人受益。
错误:
'FirebaseFirestore' is not a subtype of type 'Firestore'
表示在某处您有两个不同的名称引用用作相同的名称。
检出所有的FirebaseFirestore
实例创建代码或类型,对Firestore
做同样的事情,用相同的或最新的替换所有的,即FirebaseFirestore
,和{{1}自 2020 年底起,已弃用 Firestore
。
答案 1 :(得分:0)
请检查包裹。我看不到任何有关该异常的代码,但我认为,不同的firebase软件包之间存在冲突。
也许您可以添加您也可以添加相关代码