我想在'main.dart'内部初始化块时添加事件。但它没有调用init事件。有没有什么方法可以在不调用下一个类的'initState'内部的情况下完成此操作
void main() { runApp( MultiBlocProvider(providers: [ BlocProvider(create: (context) => CountlyBloc()..add(CountlyInitEvent())) ], child: MyApp()), ); }
vdzxcuhz1#
只需将BlocProvider中的lazy参数设置为true即可。默认情况下,只有在首次使用时才会示例化块。将lazy参数设置为true,会强制它在此时示例化。
BlocProvider
lazy
void main() { runApp( MultiBlocProvider(providers: [ BlocProvider(create: (context) => CountlyBloc()..add(CountlyInitEvent()),lazy:true,) ], child: MyApp()), ); }
希望对你有帮助!编码愉快:)
mwg9r5ms2#
BHARATH T的答案几乎是正确的,但是你必须将lazy设置为false而不是true。因为true意味着你确实希望它被创建为lazy。其余的都是正确的
true
2条答案
按热度按时间vdzxcuhz1#
只需将
BlocProvider
中的lazy
参数设置为true即可。默认情况下,只有在首次使用时才会示例化块。将lazy参数设置为true,会强制它在此时示例化。希望对你有帮助!编码愉快:)
mwg9r5ms2#
BHARATH T的答案几乎是正确的,但是你必须将
lazy
设置为false而不是true
。因为true
意味着你确实希望它被创建为lazy。其余的都是正确的