flutter-bloc-state-management
Standards for predictable state management using flutter_bloc, freezed, and equatable.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
BLoC State Management
Priority: P0 (CRITICAL)
Predictable state management separating business logic from UI using flutter_bloc, freezed, or equatable.
Structure
lib/features/auth/
├── bloc/
│ ├── auth_bloc.dart
│ ├── auth_event.dart # (@freezed or Equatable)
│ └── auth_state.dart # (@freezed or Equatable)
Implementation Guidelines
-
States & Events: Use
@freezedfor union states. See references/bloc_templates.md. -
Error Handling: Use
Failureobjects; avoid throwing exceptions. -
Async Data: Use
emit.forEachfor streams. -
Concurrency: Use
transformerfor event debouncing. -
Testing: Use
blocTestfor state transition verification. -
Injection: Register BLoCs as
@injectable(Factory).
Anti-Patterns
-
No Manual Emit:
**Avoid .then()**: Do not call emit() inside Future.then; always use await or emit.forEach. -
No UI Logic:
**Logic in Builder**: Do not perform calculations or data formatting inside BlocBuilder. -
No Cross-Bloc Reference:
**Tight Coupling**: Do not pass a BLoC instance into another BLoC; use streams to coordinate.
Related Topics
layer-based-clean-architecture | dependency-injection | error-handling
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!