在下面的代码中,如果用户已经登录并启动了应用程序,它将显示SignIn()页面一秒钟,然后转到HomeScreen()。如果用户已经登录,如何将用户直接带到HomeScreen()而不显示SignIn()页面? 我正在尝试显示加载屏幕,用于验证用户的身份验证状态的时间,但仍显示SignIn()屏幕一秒钟或更短时间。
class Wrapper extends StatefulWidget {
@override
_WrapperState createState() => _WrapperState();
}
class _WrapperState extends State<Wrapper> {
bool loading = true;
@override
Widget build(BuildContext context) {
final user = Provider.of<User>(context);
//return either HomeScreen or SignIn widget.
if (user != null) {
setState ((){
loading = false;
});
return loading ? Loading() : HomeScreen();
} else {
return SignIn();
}
}
}
代码应该像
我认为您必须具有是否执行设备登录的状态,基于此添加另一个条件并显示“登录”屏幕。