在过去的几天里,我一直被这件事所困扰。
所以我的用例是,
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的示例,但现在确定如何在此处插入。