Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在无状态小部件内的页面开始处分派第一个bloc事件或cubit方法_Flutter_Dart_Flutter Dependencies_Bloc - Fatal编程技术网

Flutter 在无状态小部件内的页面开始处分派第一个bloc事件或cubit方法

Flutter 在无状态小部件内的页面开始处分派第一个bloc事件或cubit方法,flutter,dart,flutter-dependencies,bloc,Flutter,Dart,Flutter Dependencies,Bloc,我的应用程序主菜单中有10个按钮,每个按钮都包含BlocBuilder 因此,当我点击这些按钮打开一个新页面时,我想发送第一个事件,但我不知道如何发送。我可以将所有类更改为有状态小部件,然后在initialState()函数内调用bloc.dispatch(event),但我想找到另一种方法,不确定这是否是您可以使用的最佳方法。。运算符在声明like时添加事件 BlocProvider( create: (context) => FirstBloc()..add(I

我的应用程序主菜单中有10个按钮,每个按钮都包含BlocBuilder


因此,当我点击这些按钮打开一个新页面时,我想发送第一个事件,但我不知道如何发送。我可以将所有类更改为有状态小部件,然后在initialState()函数内调用bloc.dispatch(event),但我想找到另一种方法,不确定这是否是您可以使用的最佳方法。。运算符在声明like时添加事件

BlocProvider(
            create: (context) => FirstBloc()..add(InitialiEvent()), // <-- first event, 
            child: BlocBuilder<FirstBloc, FirstState>(
              builder: (BuildContext context, state) {
                ...
              },
            ),
BlocProvider(

create:(context)=>FirstBloc()…add(InitialiEvent()),//为了触发BlocBuilder内的第一个事件/方法调用,我必须添加cubit参数并给出BlocProvider提供的参数,只有在这之后我才设法调用了我的方法

BlocBuilder<MyCubit, MyState>(
      cubit: BlocProvider.of<MyCubit>(context)..myFunction(),
      builder: (BuildContext context, state) {
//Your code...
}
BlocBuilder(
cubit:BlocProvider.of(上下文)…myFunction(),
生成器:(BuildContext上下文,状态){
//你的代码。。。
}

Pls,显示您的代码,以便我们知道从何处开始它仍然可以在不使用状态小部件的情况下实现。因为建议尽可能避免使用状态小部件。因此,如果不需要使用状态小部件,请将其保留为无状态它不起作用,可能是因为我的BlocProvider包装材料App。在我的情况下,BlocProvider没有像您的示例中那样包装BlocBuilder,您的意思是这样的。?
BlocProvider(创建:(\u)=>ProfileBloc(ProfileLoading()),//惰性:,子级:消费者(生成器:(上下文,基本模型,{return MaterialAppWidget();},,),
@sardorbekrkhi如果是,那么您可以像
BlocProvider.of(context).add(ProfileInitialEvent());
。这也会将初始事件添加到要使用该bloc的bloc中。谢谢。但是blocListener中缺少第一个状态