Your AI powered learning assistant

Блок для начинающих 📱 Управление состоянием • Руководство по Flutter

Intro

00:00:00

По мере расширения приложений Flutter первоначальная зависимость от setState быстро становится громоздкой, что приводит к внедрению provider и, в конечном счете, к необходимости в более надежном решении. BLoC становится мощным инструментом управления состоянием, который четко отделяет бизнес-логику от компонентов пользовательского интерфейса, обеспечивая поддержку кода по мере роста приложений. Этот подход разработан специально для начинающих, стремящихся эффективно масштабировать свои проекты, с подробными рекомендациями можно ознакомиться в официальной документации.

Cubit

00:00:51

Новый проект Flutter начинается с создания чистого scaffold, который создает чистый холст для приложения counter. Создается специальная папка для размещения файла Cubit, который использует упрощенный блок для управления состоянием. Класс Cubit, основанный на целых числах, содержит конструктор для начального состояния и методы увеличения и уменьшения значения счетчика с помощью функции emit. Основные команды терминала добавляют необходимый пакет Flutter Block, обеспечивая плавную интеграцию бизнес-логики.

BlocProvider (provides cubit to UI)

00:02:39

Для страницы счетчика создается новый файл, на котором виджет без сохранения состояния дополняет пользовательский интерфейс с помощью BlocProvider. BlocProvider используется для создания экземпляра счетчика cubit и добавления его в представление счетчика, начиная с начального значения, равного нулю. Эта настройка четко отделяет бизнес-логику от пользовательского интерфейса, создавая надежную схему для масштабируемого управления состоянием.

BlocBuilder (UI)

00:03:40

Приложение Flutter запускается на странице счетчика, которая предоставляет интерфейсу Cubit, используя шаблон "поставщик-потребитель". Каркас используется для центрирования текстового виджета, отображающего целочисленное состояние счетчика крупным шрифтом с помощью BlocBuilder, который отслеживает изменения состояния. Две плавающие кнопки действий, расположенные в столбце, запускают методы увеличения и уменьшения с помощью context.read, обновляя отображение в режиме реального времени.

BlocListener (reacts to state changes)

00:06:50

Интеграция BlocListener в приложение счетчика позволяет оперативно реагировать на изменения состояния, вызывая определенные действия, такие как отображение всплывающего предупреждения при заданном значении счетчика. В проекте фиксируется каждый переход состояния, включая такие операции, как увеличение и уменьшение, и каждое изменение регистрируется в консоли для четкой прослеживаемости. Такой подход не только упрощает немедленную обратную связь, но и эффективно масштабируется для управления состоянием в более сложных приложениях.