Bloc嵌套依赖于其他Bloc进行构建
创始人
2024-12-22 22:00:34
0

在Flutter应用程序中,您可能需要在一个层次结构中嵌套多个Blocs,使得一些Blocs依赖于其他Blocs进行构建。其中一个解决方法是使用BlocProvider中的create一个新的Bloc, 并且将需要的前一个Bloc注入其中。例如:

class FirstBloc extends Bloc {
  // ...
}

class SecondBloc extends Bloc {
  
  final FirstBloc firstBloc;
  
  SecondBloc({required this.firstBloc}) : super(SecondInitial());
  
  @override
  Stream mapEventToState(
    SecondEvent event,
  ) async* {
    // ...
  }
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return BlocProvider(
      create: (_) => FirstBloc(),
      child: BlocProvider(
        // Inject FirstBloc into SecondBloc
        create: (context) => SecondBloc(firstBloc: BlocProvider.of(context)),
        child: MyHomePage(title: 'Flutter Demo Home Page'),
      ),
    );
  }
}

在MyApp小部件中,首先我们使用BlocProvider创建第一个Bloc,然后使用BlocProvider在子窗口小部件中创建第二个Bloc。在创建第二个Bloc时,我们注入了FirstBloc。现在,我们可以在SecondEvent中使用FirstBloc来处理事件并更新状态。

相关内容

热门资讯

识别九分钟!德州竞技联盟辅助线... 识别九分钟!德州竞技联盟辅助线上德州后台可以操控(本来真的有挂)-知乎1、超多福利:超高返利,海量正...
输赢七分钟!wpk辅助神器aa... 输赢七分钟!wpk辅助神器aapoker有猫腻(都是真的有挂)-今日头条;暗藏猫腻,小编详细说明aa...
打法3分钟!aapoker软件... 打法3分钟!aapoker软件有猫腻cloudpoker辅助器(果真真的有挂)-小红书aapoker...
大厅房七分钟!德州辅助软件欢乐... 大厅房七分钟!德州辅助软件欢乐棋牌有外挂(一贯真的有挂)-百度知乎1、玩家可以在欢乐棋牌有外挂软件透...
辅助3分钟!微扑克ai代打Aa... 辅助3分钟!微扑克ai代打Aapoker app(一般真的有挂)-小红书1、微扑克ai代打ai辅助优...
计算器2分钟!wpk可以检测伙... 计算器2分钟!wpk可以检测伙牌wpk ai检测(一贯真的有挂)-哔哩哔哩1、玩家可以在wpk可以检...
靠谱8分钟!微扑克辅助软件wp... 靠谱8分钟!微扑克辅助软件wpk辅助(原来真的有挂)-小红书微扑克辅助软件辅助器中分为三种模型:微扑...
软件6分钟!fishpoker... 软件6分钟!fishpoker有挂来玩德州扑克约局神器(其实真的有挂)-小红书1、来玩德州扑克约局神...
软件3分钟!微扑克规律德扑之星... 软件3分钟!微扑克规律德扑之星真的太假了(总是真的有挂)-百度知乎1、在德扑之星真的太假了ai机器人...
app一分钟!微扑克有机器人德... app一分钟!微扑克有机器人德州wpk德州有挂(果真真的有挂)-小红书1、用户打开应用后不用登录就可...