flutter Firestore数据检查并导航到新屏幕



我正在尝试用Firestore构建一个flutter应用程序。我正在尝试编写一个代码,其中如果一个文档存在于集合中的Firestore中,则用户转到一个新屏幕,如果没有,则转到另一个屏幕FirebaseAuth-auth=FirebaseAuth.instance;

class check extends StatelessWidget {
static const String routeName = '/checkif';
@override
Widget build(BuildContext context) {
final firebaseUser = context.watch<User>();
final snapshot = fb.collection("Profile").doc(firebaseUser.uid).get();
if (snapshot == null) {
return addparentcompany();
} else{
return homepage();}

}
}

即使快照为空,它也会被路由到主页,而不是母公司

因为提取数据需要时间,所以在检索数据时必须等待。。因此,您必须使用FutureBuilder

body: FutureBuilder(
future: fb.collection("Profile").doc(firebaseUser.uid).get(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return addparentcompany();
} else {
if (snapshot.data.data() == null) {
return Center(
child: Text('An error occured'),
);
} else return homepage();
}
},
),

最新更新