firebase - 如何将 initState 中的 if 语句与 Flutter 和 Firebase 一起使用?
问题描述
我正在尝试自动登录用户并在使用 firebase 登录并成功获取那里的数据后将用户导航到管理员、学生或教师页面,一切都很好,除非我在 initState 中添加了三个选项“管理员、学生或技术人员”带有三个 if 语句它不会自动登录,但是当我用一个进程替换它们时它可以工作所以我不知道问题是什么,一切都很好,它找到了用户,它获取它的数据并打印以确保并根据不为空的 userType 导航,但是当我重新启动时它不会自动登录。我的代码:
@override
void initState() {
super.initState();
print(userType);
FirebaseAuth.instance.currentUser().then((res) {
print(res);
if (res != null) {
if (userType == 'Student') {
Navigator.pushReplacementNamed(context, '/StudentsPage');
} else if (userType == 'Teacher') {
Navigator.pushReplacementNamed(context, '/TeacherPage');
} else if (userType == 'Admin') {
Navigator.pushReplacementNamed(context, '/AdminPage');
}
}
解决方案
推荐阅读
- react-native - 错误:TransformError Invaild call at line : require(image)
- ios - 其他链接器标志 -ObjC 导致“找不到符号”错误
- reactjs - 页面级 SCSS 导入问题 - NextJS
- amazon-web-services - AWS Elastic Beanstalk - Docker 与 Packer
- .htaccess - 将一个文件夹的所有请求重定向到同一个文件夹
- javascript - 禁用链接框上的文本
- haskell - 如何使用带有 scotty 和 selda 的 monad 堆栈?
- java - Spring Boot 应用程序中缺少 entityManagerFactory
- google-cloud-datastore - Google Cloud Datastore 最大种类数
- r - R绘制因子的组合水平(ggpredict)