на жесточайшие грабли реализации фреймворка. Он не поддерживает наследование. Это приговор. Имею 2 модели, одна наследуется от другой. Вторую вставляю провайдером выше по дереву. Ниже пытаюсь ловить по имени первой (то есть по имени суперкласса). Облом. Позор. Без наследования ничего серьезного написать нельзя.
class KbAbstractModel with ChangeNotifier {}
...
class KbProtectionModel extends KbAbstractModel {}
...
ChangeNotifierProvider(
create: (_) => KbProtectionModel(context),
child: ...
)
...
context.watch<KbAbstractModel>();
Причем разумеется вот так работает:
context.watch<KbProtectionModel>();
Это и правда приговор, или может есть возможность правильно указать дженерик-параметр, чтобы флаттер таки нашел модель?
У тебя есть миксины
flutter_bloc работает поверх provider, там один и тот же механизм
Не совсем. Блоки вообще наследовать нельзя, а модели на провайдере все-таки можно. Правда кривовато.
Обсуждают сегодня