#flutter #flutter-bloc
#flutter #flutter-bloc
Вопрос:
Недавно я смотрел пакет flutter_bloc Феликса Ангелова (https://pub.dev/packages/flutter_bloc ) выступление в youtube (https://www.youtube.com/watch?v=knMvKPKBzGEamp;t=3s ) и это потрясающе!
У меня небольшая путаница в отношении закрытия блока вручную в методе dispose. Я слышал из выступления, что нам не нужно вызывать метод dispose для блоков, если мы используем пакет flutter_bloc, пожалуйста, поправьте меня, если это неправильно.
Заранее спасибо
Ответ №1:
Когда вы используете BlocProvider
со сборщиком, BlocProvider
он берет на себя ответственность за создание и закрытие блока. В тех случаях, когда вы хотите предоставить существующий блок новому маршруту, вам следует использовать BlocProvider.value
вместо этого, поскольку он не закрывает блок автоматически.
Вы можете обратиться к документации
В большинстве случаев BlocProvider следует использовать для создания новых блоков, которые будут доступны для остальной части поддерева. В этом случае, поскольку BlocProvider отвечает за создание блока, он автоматически обработает закрытие блока.
В некоторых случаях BlocProvider можно использовать для добавления существующего блока в новую часть дерева виджетов. Это чаще всего используется, когда существующий блок необходимо сделать доступным для нового маршрута. В этом случае BlocProvider не будет автоматически закрывать блок, поскольку он его не создавал.