Junior — Middle
What is the main role of BLoC in state management in Flutter applications?
sobes.tech AI
Answer from AI
The main role of BLoC (Business Logic Component) in state management in Flutter is to separate business logic from the UI, ensuring a clean architecture and simplifying testing.
BLoC receives events from the UI, processes them, changes the state, and sends the new state back to the UI through streams. This allows the UI to react to state changes without direct interference in the logic.
Thus, BLoC:
- Centralizes state management.
- Makes the code more modular and reusable.
- Facilitates testing of business logic separately from the interface.
Example of a simplified BLoC:
class CounterBloc {
final _counterController = StreamController<int>();
int _counter = 0;
Stream<int> get counterStream => _counterController.stream;
void increment() {
_counter++;
_counterController.sink.add(_counter);
}
void dispose() {
_counterController.close();
}
}
The UI subscribes to counterStream and updates on each counter change.