Blo c, который доставляет мне неприятности - это AuthBlo c. Вот как это инициализируется:
void main() {
runApp(MultiBlocProvider(
providers: [
BlocProvider<AuthBloc>(
create: (_) => AuthBloc(),
),
BlocProvider<SignUpBloc>(create: (_) => SignUpBloc()),
],
child: ChangeNotifierProvider(
create: (BuildContext context) => UserModel(), child: App())));
}
Вот где мне нужно состояние, на которое нужно воздействовать, но в некоторых случаях прослушиватель blo c не вызывается:
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(),
);
}
}
Я знаю, что blo c получает событие, но когда я выдаю состояние, этот blo c не перестраивается. Есть мысли о том, где я иду не так?
Спасибо!