我正在使用BLoC构建Flutter应用程序。我有一个视图,在该视图中我将多个事件发送到bloc,还将数据流传输到该视图。
目前,我要添加的接收器有所不同,具体取决于用户的操作,例如单击一个单选按钮,单击一个按钮以增加计数器,所有这些操作都在同一视图中。我正在搜索如何在一个公共接收器中处理这些事件,因为每个部分都有一个接收器似乎很麻烦。当我更改状态时,会使用不同的流,但这是我正在寻找解决方案的事件处理部分。
是否有任何使水槽处理更清洁的指南,或者这是这样做的方法吗?
我想简化的当前代码示例
// distance
StreamController<bool> _cmdDistanceController = StreamController<bool>();
StreamSink get distanceCommands => _cmdDistanceController.sink;
StreamController<String> _syncDistanceController =
StreamController<String>.broadcast();
Stream<String> get syncDistances => _syncDistanceController.stream;
// speed
StreamController<bool> _cmdSpeedController = StreamController<bool>();
StreamSink get speedCommands => _cmdSpeedController.sink;
StreamController<String> _syncSpeedController =
StreamController<String>.broadcast();
Stream<String> get syncSpeed => _syncSpeedController.stream;