Скажем, у меня есть два виджета с отслеживанием состояния, родительский и дочерний, каждый из которых написан в отдельном классе. У Child есть функции и обратные вызовы для передачи данных Родителю. Однако, если что-то происходит в родительском виджете, допустим, пользователь нажимает кнопку в родительском виджете, или какой-то процесс завершается и т. Д., Мне также нужно обновить дочерний элемент, и, возможно, скажем, изменить цвет фона на основе того события, которое произошло в родительском виджете . Как этого добиться во флаттере?
Как прослушивать события или изменение данных в родительском виджете и распространять их на дочерний виджет во флаттере?
Ответы (1)
Структура государственного управления решает две проблемы:
- обеспечение доступа к данным из неиерархических элементов в дереве виджетов
- уведомление об изменении данных для запуска перестройки с новыми значениями
В этом пространстве много игроков. Самым распространенным, вероятно, является Provider. Лично я предпочитаю RiverPod. Но используйте то, что вам удобно.
См. https://flutter.dev/docs/development/data-and-backend/state-mgmt/options для получения дополнительных сведений.
person
Randal Schwartz
schedule
27.02.2021
ChildWidget
as? - person Thierry   schedule 27.02.2021