Я занимаюсь разработкой мобильного приложения с использованием Flutter. Я новичок во Флаттере. Я использую BLo C для управления состоянием. Я знаю, что он специально разработан для управления асин c выполнением. Но также цель BLo C для государственного управления. Но я немного запутался и не совсем уверен, как обращаться с основными типами данных в BLo C.
Давайте представим, что у меня есть кнопка и изображение. Функциональность будет заключаться в том, что при нажатии кнопки видимость изображения будет переключаться. Буквально, нам просто нужно использовать логическую переменную для управления состоянием изображения. Вот как я бы это реализовал.
У меня есть класс blo c с именем HomeBlo c со следующей реализацией.
class HomeBloc {
bool _isImageDisplayed = true;
bool get isImageDisplayed => _isImageDisplayed;
void set isImageDisplayed(bool displayed) {
this._isImageDisplayed = displayed;
}
//the rest of the code for other functionalities goes here
}
final homeBloc = HomeBloc();
Затем в виджете HomePage я обновляю состояние изображения, подобное этому, в методе setState при нажатии кнопки.
this.setState(() {
homeBloc.isImageDisplayed = false;
});
Мой вопрос заключается в том, что "это стандартный способ управления первичным типом данных в BLo C во флаттере"? Это лучшая практика? Нужно ли использовать StreamBuilder? Нужно ли нам управлять этим внутри BLo C?