Flutter Bloc - дерево виджетов, растущее бесконечно

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

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

Ссылка на мой код: GIST

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

Однако, когда я возвращаюсь к 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_bloc: https://pub.dev/packages/flutter_bloc


person 0x45    schedule 15.02.2020    source источник


Ответы (1)


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

Я заменил код в моем методе Buttons onPressed на понравившийся:

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

Работает как оберег и больше не растет дерево.

person 0x45    schedule 16.02.2020