Flutter - 如何在BLoC初始化时派发一个事件

4

我知道你可以轻松地设置bloc的初始状态。当创建一个新的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构造函数可以起作用。在我的情况下,参数是从互联网获取的,因此我需要更多的动态选项。如何实现这一点?

1个回答

4
你可以使用级联操作符 .. 和一个 ' 工厂 构造函数来完成它。
factory MyBloc.dispatch(() => MyBloc()..dispatch(MyEvent());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接