flutter_bloc 中的两个连续 BLOC

Two successive BLOCs in flutter_bloc

我想将我的 BLOC 分成两个 BLOC:

  1. 做准备工作的人
  2. 主要的

我们称它为 PrepBloc 和 MainBloc。像这样把一个放在另一个里面是否合理:

BlocProvider<PrepBloc>(
          create: ......,
          child: AppView()
        )
class AppView extends StatelessWidget {
  Widget build(BuildContext context) {
    return BlocBuilder<PrepBloc, PrepState>(
      builder: (context, state) {
        if (state is ReadyState) {
          return BlocProvider<MainBloc>(...);
        }
        else if (state is NotReadyState) {
          return PrepPage();
        }
      }
    );
  }
}

我知道有 MultiBloc 的东西,但在我看来它有点复杂并且会产生很多代码。

这绝对是正确的方法!

如果 children 需要访问两个集团,您将使用 MultiBlocProvider,但在您的情况下,这不是您所追求的。我想 PrepPage 没有必要访问 MainBloc。