Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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 访问BlocProvider.of应用程序初始流之外的路由_Flutter_Bloc - Fatal编程技术网

Flutter 访问BlocProvider.of应用程序初始流之外的路由

Flutter 访问BlocProvider.of应用程序初始流之外的路由,flutter,bloc,Flutter,Bloc,我需要UserBloc能够在我的App中全局访问,因为在不直接依赖于主窗口小部件树的路由中,似乎不可能访问BlocProvider 我的应用程序(相关部分)目前的WidgetTree结构是: App ├── HomePage │ └── LessonPage └── ProfilePage 从课程页面可以导航到档案页面,但这会破坏子-父关系,您可以调用的BlocProvider.of 所以我想知道我该如何正确处理这件事 我现在使用的解决方案如下,但这给我带来了问题,因为UserBloc的c

我需要
UserBloc
能够在我的
App
中全局访问,因为在不直接依赖于主窗口小部件树的路由中,似乎不可能访问
BlocProvider

我的应用程序(相关部分)目前的WidgetTree结构是:

App
├── HomePage
│   └── LessonPage
└── ProfilePage
课程页面
可以导航到
档案页面
,但这会破坏
子-父关系,您可以调用
BlocProvider.of

所以我想知道我该如何正确处理这件事

我现在使用的解决方案如下,但这给我带来了问题,因为
UserBloc
close
从未被调用,因为
App
从未真正被处理过,在不应该的时候将
流打开

runApp(MultiBlocProvider(
供应商:[
BlocProvider,因此方法handleFunc取自该方法,只需在任何已注册路由的
Navigator.pushNamed
上调用它即可

哪一种方法是可取的? 还有其他我没有看到的解决方案吗

提前感谢您的帮助