У меня есть приложение во Flutter, которое вытягивает много данных на родительском экране. Родительский экран делится на несколько дочерних экранов, а те переходят на несколько дочерних экранов.
Теперь, чтобы убедиться, что данные не извлекаются из API все время, я просто вытягиваю их один раз в корневом экране - что вполне нормально в 90% случаев.
Все последующие обновления транслируются по всему приложению через облачные сообщения Firebase
Если я на экране 3, мне нужно обновить данные на экране 1, которые также должны обновить данные, которые в конечном итоге будут отображаться на экране 2. В настоящее время я использую этот метод для передачи своих данных (https://flutter.io/cookbook/navigation/passing-data/)
Например, экран 1 содержит три проекта. У каждого проекта есть свой экран.
Экран 2.1 для проекта 1, экран 2.2 для проекта 2 и т. Д.
На экране 2.1 есть n списков дел.
Теперь, если я открою список дел, я попаду на экран 3 с данными первого списка дел проекта 1.
В уведомлении о передаче данных облачной базы Firebase я получаю новую информацию из этого списка задач и что-то из списка задач проекта 2 в списке задач 1.
Как мне поддерживать согласованность и обновлять данные по всем направлениям?
Нужно ли мне менять архитектуру и использовать Redux или что-то в этом роде?