假设 A 类是任意根的,其子类是 B、C 和 D 类。
(并非所有类都在同一层次结构中)
当我在 D 类中使用 BlocConsumer 或 BlocBuilder 时,出现错误。
我只想重用 A 类和 B 类中使用的 Bloc 状态。
有什么解决办法吗?谢谢
- 更新
我说的是这个https://github.com/felangel/bloc/issues/74
除了将它作为导航器参数一个一个地传递给类之外,还有其他方法吗?
假设 A 类是任意根的,其子类是 B、C 和 D 类。
(并非所有类都在同一层次结构中)
当我在 D 类中使用 BlocConsumer 或 BlocBuilder 时,出现错误。
我只想重用 A 类和 B 类中使用的 Bloc 状态。
有什么解决办法吗?谢谢
- 更新
我说的是这个https://github.com/felangel/bloc/issues/74
除了将它作为导航器参数一个一个地传递给类之外,还有其他方法吗?
注意:我假设您正在使用该flutter_bloc
库,但即使您不是,概念也是相同的。
您要访问的 BLoC 必须在您要访问此 BLoC 的所有屏幕/页面之上提供。解决问题的最简单方法是将根 Widget(可能MaterialApp
)包装为BlocProvider
:
runApp(
BlocProvider<YourBloc>(
create: (_) => YourBloc(), // create your BLoC here
child: MaterialApp(...),
),
);
有关更多信息,我建议您观看此视频:https ://www.youtube.com/watch?v=laqnY0NjU3M