如何为不同的 UI 使用多个 Bloc?

问题描述

我有一个没有任何 Bloc 的登陆用户界面、一个带有 Bloc 的注册用户界面、一个带有 Bloc 的验证用户界面和一个带有 Bloc 的主页用户界面。 在每一个中,我都定义了 BlocProvider.of。 我在 Material App 的主页上定义了一个 Multiple Bloc Provider 的主要内容,每个提供者都有它的子级,而提供者的主要子级是这样的登陆页面

 home: MultiBlocProvider(
        providers: [
           BlocProvider<UserBloc>(
             create: (context) => UserBloc(UsRepoImp()),child: RegisterUi(),),BlocProvider<VerificationBloc>(
             create: (context) => VerificationBloc(VerRepoImp()),child: VerificationUi(),BlocProvider<HomeBloc>(
             create: (context) => HomeBloc(HomeRepoImp()),child: HomeUi(),],child: LandingUi(),

还有一件事是验证 UI 从注册块状态返回,如下所示:

 BlocBuilder<UserBloc,UserState>(
                    builder: (context,state) {
                      if (state is UserLoading) {
                        return CircularProgressIndicator(
                          valueColor:
                              AlwaysstoppedAnimation<Color>(Color(0xff7b68ee)),);
                      } else if (state is UserRegistered) {
                        return VerifyAccount();
                      } else if (state is UserError) {
                        return Text('Error');
                      }
                      return SizedBox(
                        height: 10.0,);
                    },

但是当我运行时,我有一个错误,即 Bloc 不应该有祖先。 我应该如何让这些 Blocs 与 UI 更改正确通信?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)