Но тут проблема. Если в виджете встречается context.watch(), то обновляется весь виджет. Это неэкономно. Хочется оставить обновление отдельных кусков экрана.
Вопрос.
Если часть дерева виджетов заключить в простой Builder(), а внутри билдера уже сделать context.watch(), обновляться будет только внутренность билдера, не затрагивая основной виджет?
не стоит, риверпод такое себе решение..
Так я не хочу риверпод, хочу простой провайдер.
Попробуй использовать ValueNotifier чтобы хендлить стейт отдельно в ChangeNotifierProvider, и через Consumer уже по нему обрабатывать
я спутал, извиняюсь)
Если не секрет, из-за чего?
flutter_bloc не позволяет наследовать модели друг от друга, а для сложной бизнес-логики это критично.
в пакете provider для таких целей есть виджет Selector - он делает эффективный context.watch на указанное значение и будет обновляться только при изменении данного значения
Ну всё равно, он будет обновлять весь виджет, а мне нужно маленькую область экрана.
сделай ещё один виджет с нужной областью
Обсуждают сегодня