Как мне перестать слушать поток, который слушает streambuilder родительского виджета? - PullRequest
1 голос
/ 17 июня 2020

Допустим, у меня есть виджет TheGroupListPage. У этого виджета есть StreamBuilder, который будет слушать Stream<List<Group>> и соответственно перестраивать ListView () групп. Каждый элемент в списке кликабелен и отправляет вас на другую страницу с именем TheGroupPage(GroupModel group).

Итак, теперь я на TheGroupPage(GroupModel group), и меня интересует только одна группа. Но моя проблема в том, что StreamBuilder продолжит прослушивать Stream<List<Group>>. Итак, как мне это остановить?

Единственный способ, который я могу придумать, - это сделать страницу TheGroupList виджетом с полным состоянием и дать ей контроллер потока. Затем каким-то образом закройте этот контроллер и отмените подписку, как только я приду к TheGroupPage ().

Но ведь должен быть более элегантный способ, верно?

Просто для ясности. Речь идет не о нежелательной сборке, о которой здесь говорилось

Как бороться с нежелательной сборкой виджетов?

Речь идет о минимизации использования данных.

...