← スキル一覧に戻る

flutter-bloc-state-management
by ngxtm
⭐ 0🍴 0📅 2026年1月23日
SKILL.md
name: Flutter BLoC State Management description: Standards for predictable state management using flutter_bloc, freezed, and equatable. metadata: labels: [state-management, bloc, cubit, freezed, equatable] triggers: files: ['_bloc.dart', '_cubit.dart', '_state.dart', '_event.dart'] keywords: [ BlocProvider, BlocBuilder, BlocListener, Cubit, Emitter, transformer, Equatable, ]
BLoC State Management
Priority: P0 (CRITICAL)
Predictable state management separating business logic from UI using bloc, freezed, or equatable.
Structure
presentation/blocs/
├── auth/
│ ├── auth_bloc.dart
│ ├── auth_event.dart # (@freezed or Equatable)
│ └── auth_state.dart # (@freezed or Equatable)
Implementation Guidelines
- States & Events: Default to
@freezed(Priority). UseEquatableif the library is present inpubspec.yaml.- freezed: Use for union states (initial, loading, success) and automatic
copyWith. - Equatable: Apply if code generation (build_runner) is avoided or
equatableis the only comparison library inpubspec.yaml. - Choose strategy:
- Union State: Exclusive UI phases (loading vs data).
- Property-based State: Complex forms (Option<$Either>, flags).
- freezed: Use for union states (initial, loading, success) and automatic
- State Properties: Use enums, sealed classes, or
Statusobjects. - Error Handling: Use
Failureobjects; avoid throwing exceptions. - Async Data: Use
emit.forEachoremit.onEachfor streams. - Concurrency: Use
transformer(restartable, droppable) for event debouncing. - Testing: Use
blocTestfor state transition verification. - Injection: Register BLoCs as
@injectable(Factory).
Anti-Patterns
- No Manual Emit: Do not call
emit()insideFuture.then; always useawaitoremit.forEach. - No UI Logic: Do not perform calculations or data formatting inside
BlocBuilder. - No Cross-Bloc Reference: Do not pass a BLoC instance into another BLoC; use streams or the UI layer to coordinate.
Reference & Examples
For full BLoC/Cubit implementations and concurrency patterns: See references/REFERENCE.md.
Related Topics
feature-based-clean-architecture | dependency-injection
スコア
総合スコア
50/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です