微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何为不同的 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 举报,一经查实,本站将立刻删除。