首页 > 解决方案 > 如何将 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');
        }
      }

标签: firebaseflutterif-statement

解决方案


推荐阅读