FlutterBloc:BlocListener不消耗发射状态

时间:2020-03-31 01:23:20

标签: flutter dart bloc flutter-bloc

给我带来麻烦的集团是AuthBloc。初始化方法如下:

void main() {
  runApp(MultiBlocProvider(
      providers: [
        BlocProvider<AuthBloc>(
          create: (_) => AuthBloc(),
        ),
        BlocProvider<SignUpBloc>(create: (_) => SignUpBloc()),
      ],
      child: ChangeNotifierProvider(
          create: (BuildContext context) => UserModel(), child: App())));
}

在这里,我需要对状态进行操作,但是在某些情况下,不会调用集团的侦听器:

Widget home(BuildContext context) {
    // ignore: close_sinks
    var authBloc = BlocProvider.of<AuthBloc>(context);
    return BlocListener(
      bloc: authBloc,
      listener: (context, state) {

        UserModel userModel = Provider.of<UserModel>(context, listen: false);
        if (state is SignedInState) {
          userModel.updateUser(state.user);

          Navigator.of(context).pushReplacementNamed(kHomeRoute);
        }
      },
      child: HomePage(),
    );
  }
}

我知道该集团正在接收该事件,但是当我产生状态时,该集团不会重建。对我要去哪里错有任何想法吗?

谢谢!

0 个答案:

没有答案