Как оживить переход экрана входа в систему с провайдером? - PullRequest
0 голосов
/ 04 июля 2019

Я настроил автоматическую смену экрана при изменении состояния авторизации Firebase с помощью provider.

Но при смене экрана анимация отсутствует.Я пытался использовать Navigator.of(context).pushReplacementNamed, но это вызывает много ошибок.

Как анимировать автоматическое изменение экрана при изменении состояния в модели?(Я смотрю, но учебник не покрывает это. У всех просто нет анимации при смене экрана).

Спасибо за помощь!

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      builder: (_) => UserRepository.instance(),
      child: Consumer(
        builder: (context, UserRepository user, _) {
          switch (user.status) {
            case Status.Uninitialized:
              return Splash();
            case Status.Unauthenticated:
            case Status.Authenticating:
              return LoginPage();
            case Status.Authenticated:
              return UserInfoPage(user: user.user);
          }
        },
      ),
    );
  }
}

1 Ответ

0 голосов
/ 04 июля 2019

При использовании provider анимация выполняется так же, как и для любых виджетов.

Есть несколько решений:

Все эти подходы состоят из сравнения нового и предыдущего состояния.

...