无法从``MultiBlocProvider''中分解``提供者''列表
我想从多个来源组合blocproviders
中的单个MultiBlocProvider
。但是,blocproviders
MultiblocProvider
构造方法参数的任何尝试都导致运行时错误,提供者< xyz&gt ;
找不到。
错误:找不到正确的提供商< foo>在此bloclistener< foo,foostate>小部件
说我有
return MultiBlocProvider(
providers: [
BlocProvider(create: (context) => FooCubit()),
BlocProvider(create: (context) => BarCubit()),
],
child: child,
);
起作用。但是我希望
final concatenatedProviders = [
BlocProvider(create: (context) => FooCubit()),
] + [
BlocProvider(create: (context) => BarCubit()),
];
return MultiBlocProvider(
providers: concatenatedProviders,
child: child,
);
那不起作用。考虑提供商
即使是单个(非关联)列表,也无法工作。
我如何将其分解为提供商,以便仍然可以找到它们?我尝试了为提供者的几种类型注释,例如列表< blocprovider< statestreamablesource< object?>>>>>
,list> list< blocprovider< blocprovider< blocprovider<等,但是我找不到工作解决方案。
I want to combine BlocProviders
from multiple sources into a single MultiBlocProvider
. But any attempt to construct a List
of BlocProviders
outside of the MultiBlocProvider
constructor arguments leads to a runtime error, that the Provider<XYZ>
could not be found.
Error: Could not find the correct Provider<Foo> above this BlocListener<Foo, FooState> Widget
Say I have
return MultiBlocProvider(
providers: [
BlocProvider(create: (context) => FooCubit()),
BlocProvider(create: (context) => BarCubit()),
],
child: child,
);
That works. But I want
final concatenatedProviders = [
BlocProvider(create: (context) => FooCubit()),
] + [
BlocProvider(create: (context) => BarCubit()),
];
return MultiBlocProvider(
providers: concatenatedProviders,
child: child,
);
That does not work. Factoring out the providers
does not work even if it is a single (non-concatenated) list.
How can I factor out the providers this so that they will still be found? I have tried several type annotations for the providers, such as List<BlocProvider<StateStreamableSource<Object?>>>
, List<BlocProvider<dynamic>>
, etc, but I couldn't find a working solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试这个
完整的工作示例:
Try this,
Full working example: