Домашняя страница Flutter Dynami c с использованием пакета провайдера не работает должным образом - PullRequest
0 голосов
/ 23 марта 2020

Так что я пытаюсь перейти на домашний экран при успешном входе в мое приложение флаттера, но оно не работает, как ожидалось. После входа в систему он остается на экране входа в систему и не перемещается на главный экран, пока я не перезапущу приложение в горячем режиме, прежде чем оно перейдет на главный экран. Но если я поменяю экран в блоке переключателей по умолчанию main.dart на LoginScreen (), он будет работать как положено. Вот мой код main.dart

return ChangeNotifierProvider<AuthenticationProvider>(
  create: (context) => AuthenticationProvider()..authStatus(),
  child: MaterialApp(
    theme: ThemeData(
      primarySwatch: Colors.blue,
      accentColor: Colors.pinkAccent,
      buttonTheme: ButtonThemeData(
        buttonColor: Colors.pinkAccent,
        textTheme: ButtonTextTheme.primary,
      ),
    ),
    onGenerateRoute: generatedRoutes,
    home: Selector<AuthenticationProvider, AuthStatus>(
      selector: (context, model) => model.status,
      builder: (context, status, child) {
        print(status);
        switch (status) {
          case AuthStatus.UNINITIALIZED:
            return SplashScreen();
          case AuthStatus.AUTHENTICATED:
            print('I got here');
            return HomeScreen();
          default:
            return WelcomeScreen();
        }
      },
    ),
  ),
);

Я попытался использовать точки останова, чтобы посмотреть, получится ли код, возвращающий HomeScreen (), и это произошло, но пользовательский интерфейс приложения ничего не сделал. Я не знаю, что именно я делаю неправильно, потому что я новичок, чтобы трепетать. Пожалуйста помоги. Спасибо

...