1

给我带来麻烦的集团是 AuthBloc。以下是它的初始化方式:

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

这是我需要对状态采取行动的地方,但在某些情况下,不会调用 bloc 的侦听器:

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(),
    );
  }
}

我知道该集团正在接收事件,但是当我让出状态时,该集团不会重建。关于我要去哪里错的任何想法?

谢谢!

4

0 回答 0