Flutter,如何将现有Bloc用于其他屏幕?

h22fl7wq  于 2022-11-30  发布在  Flutter
关注(0)|答案(2)|浏览(132)

假设类A是任意根的,它的子类是类B、C和D。
(Not所有类都在同一层次结构中)
当我在类D中使用BlocConsumer或BlocBuilder时,我得到一个错误。
我只想重用类A和类B中使用的Bloc状态。
有什么解决办法吗?谢谢
--更新
我说的是这个https://github.com/felangel/bloc/issues/74
除了将它作为导航器参数一个一个地传递给类之外,还有什么别的方法吗?

4c8rllxm

4c8rllxm1#

注意:我假设您使用的是flutter_bloc库,但是即使您没有使用,概念也是一样的。
您要访问的BLoC必须位于您要访问此BLoC的所有屏幕/页面的上方。最简单的解决方案是将您的根Widget(可能是MaterialApp) Package 为BlocProvider

runApp(
  BlocProvider<YourBloc>(
    create: (_) => YourBloc(), // create your BLoC here
    child: MaterialApp(...),
  ),
);

欲了解更多信息,我建议观看此视频:https://www.youtube.com/watch?v=laqnY0NjU3M

xienkqul

xienkqul2#

在myapp主页上介绍blocprovider并在其他页面上使用它

相关问题