пользователь flutter firebase во время запуска приложения - PullRequest
0 голосов
/ 24 июня 2018

В заставке я хочу проверить, есть ли авторизованный пользователь для перехода на домашнюю страницу и если нет, перейдите на страницу регистрации / входа вот мой код для заставки, которую запускает метод, и проверьте, вошел ли пользователь в систему, затем перейдите к дому, если есть пользователь, вошедший в систему

class _SplashScreenState extends State<SplashScreen> {
final FirebaseAuth _auth = FirebaseAuth.instance;
FirebaseUser _user;
Future<FirebaseUser> _getUser() async {
_user = await _auth.currentUser();
return _user;
}

Future startTime() async {
var _duration = new Duration(seconds: 2);
return new Timer(_duration, navigationPage());
}

navigationPage() {
  if (_user != null) {
   Navigator.of(context).pushNamed('/home');
  } else {
   Navigator.of(context).pushNamed('/welcome');
  }
}

@override
 void initState() {
 super.initState();
 _getUser();
 startTime();
 }

@override
Widget build(BuildContext context) {
  return new Scaffold(
    body: new Center(
      child: new Image.asset(
      'assets/imgs/logo.png',
        width: 162.0,
      height: 58.0,
     ),
    ),
  );
 }
}

1 Ответ

0 голосов
/ 24 июня 2018

Я решаю это, получая _user внутри функции 'startTime', и она работает

Future startTime() async {
_user = await _auth.currentUser();
var _duration = new Duration(seconds: 2);
return new Timer(_duration, navigationPage());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...