flutter 将事件添加到多块提供程序初始化不起作用

s5a0g9ez  于 2022-11-25  发布在  Flutter
关注(0)|答案(2)|浏览(125)

我想在'main.dart'内部初始化块时添加事件。但它没有调用init事件。有没有什么方法可以在不调用下一个类的'initState'内部的情况下完成此操作

void main() {
  runApp(
    MultiBlocProvider(providers: [
      BlocProvider(create: (context) => CountlyBloc()..add(CountlyInitEvent()))
    ], child: MyApp()),
  );
}
vdzxcuhz

vdzxcuhz1#

只需将BlocProvider中的lazy参数设置为true即可。默认情况下,只有在首次使用时才会示例化块。将lazy参数设置为true,会强制它在此时示例化。

void main() {
  runApp(
    MultiBlocProvider(providers: [
      BlocProvider(create: (context) => CountlyBloc()..add(CountlyInitEvent()),lazy:true,)
    ], child: MyApp()),
  );
}

希望对你有帮助!编码愉快:)

mwg9r5ms

mwg9r5ms2#

BHARATH T的答案几乎是正确的,但是你必须将lazy设置为false而不是true。因为true意味着你确实希望它被创建为lazy。其余的都是正确的

相关问题