Чего я хочу
У меня простая модель. Модель простирается от ChangeNotifier
. Если ChangeNotifier
вызывает notifyListeners()
, я хочу «сделать» что-то вроде показа SnackBar или Dialog. Я предоставляю модель с пакетом Provider для своего дерева виджетов.
С чем это можно сравнить?
Раньше я использовал пакет flutter_bloc. Этот пакет предлагает BlocListener. С BlocListener я могу что-то «делать» при изменении состояния. Пример кода:
BlocListener<BlocA, BlocAState>(
listener: (context, state) {
// do stuff here based on BlocA's state
},
child: Container(),
)
В приведенном выше примере дочерний элемент не будет перестраиваться, но я все еще могу что-то делать в зависимости от состояния.
Есть ли что-нибудь сопоставимое с пакетом провайдера? Я читал в документации пакета, что ListenableProvider даст больше свободы для таких вещей, как «анимация». Но я не знаю, могу ли я каким-то образом использовать этого провайдера, чтобы показывать закусочную в уведомлении.
Изменить: я спросил Реми, автора Provider, в Twitter. С небольшим количеством символов он сказал мне, что я могу использовать didChangeDependencies для этого поведения.