#flutter #nested #bloc #hierarchical #state-management
#флаттер #вложенный #блок #иерархический #управление состоянием
Вопрос:
У меня есть вложенная структура, что-то вроде этого:
List<Areas>
|-- List<Topics>
| |-- List<Exercises>
Это рабочий процесс моего приложения:
- Приложение открыто
- Извлекать
API
и отображать списокAreas
- Пользователь выбирает
Area
и переходит к следующему экрану - Получение
API
и отображение списка разделов - Пользователь выбирает
Topic
и переходит к следующему экрану - Извлеките
API
и отобразите список упражнений - Пользователю необходимо выполнить все из них
Я начал использовать BloC, но я не уверен, должен ли я использовать блок для каждого типа данных (например, один блок для Areas
, другой для Topics
и еще один для Exercises
) или обрабатывать всю структуру только в одном блоке.
Я вижу проблему State
, связанную с тем, что a содержит всю структуру и нуждается в обновлении каждый раз, когда вложенный список извлекается из API
. Может быть, это вызовет проблемы с памятью?
С другой стороны, наличие одного блока для каждого типа данных усложнит обмен данными между ними.
Я также открыт для переключения на другую state management
технику, если это имеет больше смысла.
Любая помощь будет оценена.
Большое спасибо.
Ответ №1:
Лучше всего иметь по одному блоку на экран. Поэтому в вашем случае было бы лучше иметь 3 блока. Вы также должны свести к минимуму связь между блоками, поскольку у каждого должны быть свои обязанности.