概要
bloc_presentation パッケージは、Bloc や Cubit からナビゲーション、スナックバーの表示、ダイアログの表示などの一時的な副作用をクリーンに処理できるようにします。状態に不要なコードを混入させることなく、イベントが直接副作用をトリガーできるようにすることで、プレゼンテーションロジックと状態管理を分離し、コードの明確さとテスト可能性を向上させます。Flutter の Bloc/Cubit パターンとの連携を目的として設計されており、UI 側の操作をプラットフォーム間でクリーンかつ効率的にディスパッチすることを保証しています。
用途
- 状態変更後のナビゲーションの処理
- スナックバーや一時的なフィードバックを表示する
- ビジネスロジックに基づいてダイアログを表示する
- 複雑なフローにおける一時的なUI効果の管理
- テスト可能なプレゼンテーション層の簡素化
主な機能
- Clean separation of side effects from state
- Support for single-time event dispatching
- Integration with Bloc and Cubit
- Cross-platform compatibility
- Minimal boilerplate
- Type-safe side effect handling
適している対象
- Bloc/Cubit を使用する Flutter アプリ
- よりクリーンなUIロジックを求める開発者
- テスト可能なプレゼンテーションレイヤーを重視するチーム
- 予測可能な副作用を必要とするプロジェクト
- 頻繁なナビゲーションやフィードバックが必要なアプリ
注意事項
- Bloc/Cubit パターンの理解が必要です
- 繰り返し発生する副作用には適していません
- UIレイヤーで追加のセットアップが必要になる場合があります
- 他のプレゼンテーション中心のパッケージと併用するのが最適です
- 副作用の管理に限定され、状態ロジックではない