Как использовать scoped_model с Navigator? - PullRequest
0 голосов
/ 27 апреля 2019

Я использую scoped_model для управления состоянием приложения.

У меня есть AuthModel для состояния авторизации.Когда пользователь входит в систему, я изменяю screen в AuthModel:

  Widget screen = LoadScreen();

  if (loggedIn == true) {
    screen = HomeScreen;
  } else if (loggedIn == false) {
    screen = LoginScreen;
  }

Но я получаю ошибку, когда я звоню в RootPage Виджет:

Navigator.of(context).pushReplacementNamed(‘/${model.screen}’); 

'Package: flutter / src / widgets / navigator.dart ': Неудачное утверждение: строка 2106 поз. 12:'! _debugLocked ': не соответствует действительности'

RootPage - первая страница в приложении Flutter и используетсядля показа экрана загрузки до подтверждения возврата, если пользователь вошел в систему или нет:

class RootPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
  return ScopedModelDescendant<AuthModel>(builder: (context, child, model) {
    Navigator.of(context).pushReplacementNamed(‘/${model.screen}’); 
    });
  }
}

Почему я получаю эту ошибку?

Как использовать scoped_model для навигации, если пользователь подписанили нет?

Спасибо!

...