Firebase 如何将If语句添加到main.dart文件
我想添加一个if语句函数,其中if current user!=null它应该导航到Home(),而不应该导航到Login() 这是当前的主文件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
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(),
),
);
}