отображается 5 кнопок. Мне нужно при клике на любой из ElevatedButton() записать в переменную передаваемое число и вывести результат в другом виджете ResultWidget()
Всё бы ничего но я запутался(
ElevatedButton() сейчас у меня срабатывает только внутри виджета TwoWidget() - (закомментированный код),
я понимаю что onPressed нужно передавать в верхний виджет HomeWidget().. но как оттуда обратиться к TwoWidget() виджету? как это сделать?
Вроде елементарно но я застрял(
Подскажите 😳
Есть много вариантов: # Без дополнительных пакетов: ## Через ValueNotifier/(или любой другой контейнер изменяемой переменной) Виджет контейнер - стейтфул, содержит этот ValueNotifier в себе, передаёт дочерним кнопкам этот велью нотифаер и они внизу сами устанавливают значение которое необзодимо... ## Через коллбек Виджет контейнер в стейте хранит переменную, а дочерним передаёт коллбек который изменяет эту переменную (тем самым дочерние кнопки ничего не знают о логике) ## Через Action/Intent Виджет контейнер оборачивает детей в Actions, где устанавливается коолбек на Intent. Дочерние кнопки шлют Intent через context. (Так вообще ничего не передаётся детским кнопкам, связь лишь через Action/Intent) # Через стейт менеджеры ## Bloc Да по сути всё так же как с Action/Intent. Виджет контейнер создаёт блок и реагирует на него.. Кнопки из контекста получают блок и шлют в него ивенты...
Обсуждают сегодня