BLoC返回每个事件后都相同的数据
创始人
2024-12-22 20:00:17
0

可使用 StreamController 作为 BLoC 的输出,并在每次状态变化时将新的状态添加到流中。以下是一个简单的示例:

import 'dart:async';

enum CounterEvent { increment }

class CounterBloc {
  int _counter = 0;
  
  final _counterController = StreamController();
  
  Stream get counterStream => _counterController.stream;
  
  void mapEventToState(CounterEvent event) {
    if (event == CounterEvent.increment) {
      _counter++;
      _counterController.add(_counter);
    }
  }
  
  void dispose() {
    _counterController.close();
  }
}

在此示例中,当事件 CounterEvent.increment 发生时,将更新 _counter 的值,并将新的计数器值添加到 _counterController 流中。获取 BLoC 值时,使用 counterStream 接收新值。

然后,您可以在 UI 中使用 StreamBuildercounterStream 与视图结合起来:

class CounterWidget extends StatelessWidget {
  final CounterBloc _counterBloc;

  const CounterWidget({Key key, CounterBloc counterBloc})
      : _counterBloc = counterBloc,
        super(key: key);

  @override
  Widget build(BuildContext context) {
    return StreamBuilder(
      stream: _counterBloc.counterStream,
      builder: (context, snapshot) {
        if (snapshot.hasData) {
          return Text('Counter: ${snapshot.data}');
        } else {
          return Text('Counter: 0');
        }
      },
    );
  }
}

通过上述方式解决后,每当一个新的 'CounterEvent.increment” 事件被触发时,该 BLoC 将向输出流发送新的值,使视图随之变化。

相关内容

热门资讯

第6分钟了解(德州ai)外挂智... 第6分钟了解(德州ai)外挂智能ai辅助代打(透视)攻略教程(2023已更新)(哔哩哔哩);相信小伙...
第2分钟了解(tritonpo... 第2分钟了解(tritonpoker)外挂辅助插件安装代打(透视)黑科技教程(2024已更新)(哔哩...
第9分钟了解(WPK技巧)黑科... 第9分钟了解(WPK技巧)黑科技透明挂辅助软件(透视)教你攻略(2024已更新)(哔哩哔哩)是一款可...
七分钟了解(aapoker德州... 七分钟了解(aapoker德州俱乐部)软件透明挂辅助科技(透视)线上教程(2022已更新)(哔哩哔哩...
1分钟了解(Wepoke开发)... 1分钟了解(Wepoke开发)黑科技透明挂辅助黑科技(透视)扑克教程(2021已更新)(哔哩哔哩);...
第六分钟了解(wpk德州ai机... 第六分钟了解(wpk德州ai机器人)外挂辅助插件安装科技(透视)规律教程(2024已更新)(哔哩哔哩...
第1分钟了解(Wepoke技术... 第1分钟了解(Wepoke技术)外挂透明挂辅助下载(透视)实用技巧(2023已更新)(哔哩哔哩);1...
第十分钟了解(新版Wepoke... 第十分钟了解(新版Wepoke)软件透明挂辅助app(透视)曝光教程(2020已更新)(哔哩哔哩);...
第3分钟了解(wepOke)外... 第3分钟了解(wepOke)外挂辅助插件安装app(透视)第三方教程(2021已更新)(哔哩哔哩),...
八分钟了解(德扑之星设置)外挂... 八分钟了解(德扑之星设置)外挂辅助插件安装黑科技(透视)AI教程(2021已更新)(哔哩哔哩);人气...