【问题标题】:FLutter - How to dispatch an event on BLoC initializationFLutter - 如何在 BLoC 初始化时调度事件
【发布时间】:2019-12-06 16:51:52
【问题描述】:

我知道如何轻松设置集团的初始状态。是否可以在创建新 bloc 时调度事件?

class MyBloc extends Bloc<MyEvent, MyState> {
  MyBloc() :
    this.dispatch(MyEvent()), // this line doesn't work
    super();

  @override
  MyState get initialState => MyStateInitial();

  @override
  Stream<MyState> mapEventToState(MyEvent event) async* {
    if (event is MyEvent) {
      ... do some stuff here ...
      yield MyStateAfterMyEvent(someParameters, thatCantBe, setManually);
    }
  }
}

我知道将参数传递给 bloc 构造函数有时会起作用。在我的情况下,参数是从互联网上获取的,所以我需要更多动态选项。实现这一点的方法是什么?

【问题讨论】:

    标签: events flutter initialization bloc


    【解决方案1】:

    您可以使用级联运算符 .. 和 ' factory 构造函数来做到这一点。

    factory MyBloc.dispatch(() => MyBloc()..dispatch(MyEvent());
    

    【讨论】:

      猜你喜欢
      • 2020-03-23
      • 2020-10-20
      • 2020-02-18
      • 2019-12-13
      • 2020-12-07
      • 2022-06-26
      • 2020-12-06
      • 2021-12-17
      • 2022-11-24
      相关资源
      最近更新 更多