flutter-bloc-state-management
Standards for predictable state management using flutter_bloc, freezed, and equatable.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
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
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!