FLutter - 如何在 BLoC 初始化时调度事件
Posted
技术标签:
【中文标题】FLutter - 如何在 BLoC 初始化时调度事件【英文标题】:FLutter - How to dispatch an event on BLoC initialization 【发布时间】: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 构造函数有时会起作用。在我的情况下,参数是从互联网上获取的,所以我需要更多动态选项。实现这一点的方法是什么?
【问题讨论】:
【参考方案1】:您可以使用级联运算符 ..
和 ' factory
构造函数来做到这一点。
factory MyBloc.dispatch(() => MyBloc()..dispatch(MyEvent());
【讨论】:
以上是关于FLutter - 如何在 BLoC 初始化时调度事件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Hot Reload 上使用 Provider 维护 Flutter Global BloC 状态?