Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何将If语句添加到main.dart文件_Firebase_Flutter_Firebase Authentication - Fatal编程技术网

Firebase 如何将If语句添加到main.dart文件

Firebase 如何将If语句添加到main.dart文件,firebase,flutter,firebase-authentication,Firebase,Flutter,Firebase Authentication,我想添加一个if语句函数,其中if current user!=null它应该导航到Home(),而不应该导航到Login() 这是当前的主文件 void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(MaterialApp( title: 'TaakStore', home: StreamBuilder( str

我想添加一个if语句函数,其中if current user!=null它应该导航到Home(),而不应该导航到Login()

这是当前的主文件

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MaterialApp(
    title: 'TaakStore',
    home: StreamBuilder(
    stream: FirebaseAuth.instance.authStateChanges(),
    builder: (BuildContext context, AsyncSnapshot<User> snapshot) {
      if (snapshot.hasData) {
        print(snapshot);
        return Home();
      } else {
        return Login();
      }
    },
  ),
  ));
}

请帮帮我

我建议您在MaterialApp中使用“路线”,我可以在这里给您举个例子:

initialRoute:等待批准。getInitialRoute()

然后打开Approve并在那里定义

static Future<String> getInitialRoute() {

    if (FirebaseAuth.instance.currentUser != null) {
      return '/home-page';
    } else {
      return '/login-page';
    }   }

static Future getInitialRoute(){
if(FirebaseAuth.instance.currentUser!=null){
返回“/主页”;
}否则{
返回“/登录页面”;
}   }

您可以像这样使用三元运算:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  bool loggedIn = FirebaseAuth.instance.currentUser !=null;
  runApp(MaterialApp(
    title: 'TaakStore',
    home: loggedIn ? Home(): Login(),
  ),
 );
}
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  bool loggedIn = FirebaseAuth.instance.currentUser !=null;
  runApp(MaterialApp(
    title: 'TaakStore',
    home: loggedIn ? Home(): Login(),
  ),
 );
}