正在制作一个应用程序,我希望当我打开应用程序时,如果我登录它会打开主页,但如果我没有登录,那么它应该打开登录页面,所以我这样做并且它工作,但我是新手颤动,我认为有一个很好的方法可以做到这一点,但我不知道,所以我可以使用其他方法还是可以使用它??
main() async {
WidgetsFlutterBinding.ensureInitialized();
if (await pref.getToken() == null){
runApp(MyApp());
}else{
runApp(MyHomePage());
}
答案 0 :(得分:2)
您可以使用材料小部件初始路线。这将是更多的性能。材质小部件有更多额外的属性。你也可以照顾他们。
main() async {
WidgetsFlutterBinding.ensureInitialized();
Future getInitialRoute() async{
var tokenIsExists = await pref.getToken();
if (tokenIsExists) {
return '/myapp';
} else {
return '/myhomepage';
}
}
runApp(
MaterialApp(
title: '',
initialRoute:await getInitialRoute(),
routes: {
'/myapp': (context) => MyApp(),
'/myhomepage': (context) => MyHomePage(),
},
onUnknownRoute: (settings) => MaterialPageRoute(
builder: (context) => HomePage(),
),
),
);
}