Flutter Blo c - Виджет дерева, растущего бесконечно - PullRequest
0 голосов
/ 16 февраля 2020

Когда я возвращаюсь от окончательного вида к своему «начальному виду», каждый State из всех 3 BlocProviders сохраняется.

См. Дерево виджетов: Widget Tree

Мой код связан здесь: GIST

Я не понимаю, чего мне не хватает, при первом запуске все работает нормально.

Однако, когда я go возвращаюсь к InitialView, когда я нахожусь в GameView, снова все настраиваю и снова перехожу к GameModeSelectionView, его вызывают несколько раз (состояния как-то сохраняются, а не сбрасываются ??) (1) :

flutter: State of GameSelectionState GameSelectionInitial
flutter: State of GameSelectionState GameSelectionStart
flutter: State of QuestionState StopQuestion
flutter: OK?
flutter: State of GameSelectionState GameSelectionStart
flutter: State of QuestionState StopQuestion
flutter: OK?
flutter: State of GameSelectionState GameSelectionStart
flutter: State of QuestionState StopQuestion
flutter: OK?
flutter: State of GameSelectionState GameSelectionInitial

Этот процесс растет с каждой итерацией (1)

Я использую зависимость flutter_blo c: https://pub.dev/packages/flutter_bloc

1 Ответ

0 голосов
/ 16 февраля 2020

Я исправил проблему, используя MaterialPageRoute onGenerateRoute (поскольку мне нужно динамически маршрутизировать)

Я заменил код в методе Buttons onPressed на:

Navigator.of(context).pushReplacementNamed(
              GameModeSelectionView.routeName,
              arguments: players);

Работает как шарм и больше не растёт.

...