Зачем?
перерисовывается не весь список, а только 1 элемент
если я в списке в середине, нажал на кнопку в элементе - ушло на сервер сервер прислал новый список setState перерисовывает весь список во всяком случае я уже не в середине на самом верху списка
setState перерисовывает (не путать с build) весь список только если его предварительно очищать
ну вообще сет стейт достаточно просто работает, он просто перерисовывает текущий виджет и не больше. Он понятие не имеет о том что ожидается перерисовка конкретного элемента в списке по каким то не очевидным для него признакам. Поэтому ответ на вопрос проще - никак. Могу конечно ошибаться. Я помню что во vue например ключи было полезно проставлять, чтобы вью понимал что пора какой то кусок в цикле перерисовтаь. Но это не работало так что изменился уже отрисованый элемент в своих свойствах и вью благодаря ключу обновлял его. Это работало для случаев когда на его место встает уже совсем иной объект уже совсем с другим ключем
build != render проверять перерисовку через log'и - некорректно, нужно проверять через repaint в DevTools
так а сет стейт то по итогу что делает?
помечает поддерево для rebuild'а все дерево перестроится, но не обязательно перерисуется
ну да, если дерево не отличается от прошлого, так?
оно может отличаться неполностью
то что не отличается вроде по возмжности не перерисовывается
вот и я об этом
в любом случае дать сигнал перерисовать конкретный элемент списка вроде как нельзя. Или можно?
вообще можно (засунуть в Builder или его потомка), но это бессмысленно
не очень понимаю о чем речь
!!!НЕ НАДО ТАК ДЕЛАТЬ!!! каждый элемент списка засунуть в BlocBuild'er и где-то во ViewModel'е держать List<Cubit>
никогда не прикосался к блоку
Обсуждают сегодня