【发布时间】:2021-04-26 00:01:47
【问题描述】:
在过去的几天里,我一直很纠结这件事。
所以我的用例是, A -> B -> C -> D
当 D 发生一些变化时,更新 A 中的一些数据。 A、B、C、D 是不同的屏幕。
现在我知道我们可以使用 MultiBlocProvide 为 D 提供两个提供程序。 但我正在使用推送的名称路由, 不知道如何在这里使用集团进行交流。
routes: {
Routes.ScreenA: (context) => _getScreenA(),
Routes.ScreenB: (context) => _getScreenB(),
Routes.ScreenC: (context) => _getScreenC(),
Routes.ScreenD: (context) => _getScreenD(),
}
_getScreenA() {
return BlocProvider<ScreenABloc>(
create: (context) =>
ScreenABloc(),
child: ScreenARoute());
}
_getScreenB() {
return BlocProvider<ScreenBBloc>(
create: (context) => ScreenBBloc(),
child: ScreenBRoute());
}
_getScreenC() {
return BlocProvider<ScreenCBloc>(
create: (context) => ScreenCBloc(),
child: ScreenCRoute());
}
_getScreenD() {
return BlocProvider<ScreenDBloc>(
create: (context) => ScreenDBloc(),
child: ScreenDRoute());
}
还检查了 Todo's 的示例,但现在确定如何将其插入此处。
【问题讨论】:
标签: flutter bloc flutter-bloc