[英]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.