FLUTTER ECOSYSTEM

felangel/broadcast_bloc

bloc 状態管理ライブラリの拡張であり、状態変更をストリームチャネルにブロードキャストする機能を追加します。

broadcast_bloc のプロジェクト画像
Stars
26
Forks
0
最終プッシュ(UTC)
2026/04/13
プロジェクト状態
公開中
Felix Angelov GitHub avatar
GITHUB User

Felix Angelov ↗

software engineer by day, software engineer by night.

言語Dart

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 5 件

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

Broadcast Bloc

build coverage pub package style: bloc lint License: MIT

An extension to the bloc state management library which adds support for broadcasting state changes to stream channels.

Learn more at bloclibrary.dev!


Sponsors

Our top sponsors are shown below! [Become a Sponsor]

https://raw.githubusercontent.com/felangel/bloc/master/assets/sponsors/shorebird.png https://raw.githubusercontent.com/felangel/bloc/master/assets/sponsors/stream.png https://raw.githubusercontent.com/felangel/bloc/master/assets/sponsors/rettel.png

Quick Start 🚀

// Extend `BroadcastCubit` instead of `Cubit`.
// The package also exports:
// * `BroadcastBloc`
// * `BroadcastMixin`
class CounterCubit extends BroadcastCubit<int> {
  CounterCubit() : super(0);

  void increment() => emit(state + 1);
}

void main() {
  final controller = StreamController<String>(sync: true);
  final subscription = controller.stream.listen(print);
  final channel = StreamChannel(controller.stream, controller.sink);

  // Create an instance of the cubit.
  final cubit = CounterCubit()
    // Subscribe the channel.
    ..subscribe(channel)
    // Trigger a state change which will be broadcast to subscribed channels.
    ..increment()
    // Unsubscribe channel.
    ..unsubscribe(channel);

  subscription.cancel();
  cubit.close();
}