簡體   English   中英

如何將 If 語句添加到 main.dart 文件

[英]How Add a If statement to main.dart file

我想添加一個 if 語句 function,如果當前用戶= 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();
      }
    },
  ),
  ));
}

而不是 streambuilder 我想添加一個 firebase auth function

這個

if(FirebaseAuth.instance.currentUser != null){
  Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Home();));
}
else{
  Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Login();));
}

請幫我!!

您可以像這樣使用三元運算:

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

我建議您在 MaterialApp 中使用“路線”,我可以在這里給您舉個例子:

initialRoute: await AppRoute.getInitialRoute()

並打開 AppRoute 並在那里定義

static Future<String> getInitialRoute() {

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM