Итак, у меня есть этот код
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider<ProfilePageBloc>(
create: (context) => ProfilePageBloc(userRepository: UserRepository.instance),
),
BlocProvider<HomeBloc>(
create: (context) => HomeBloc(),
),
],
child: BlocBuilder<HomeBloc, HomeState>(
builder: (context, state) {
return Scaffold(
body: BlocBuilder<HomeBloc, HomeState>(
builder: (context, state) {
if (state is StateThatDoesNotMatter) {
final HomeBloc homeBloc = BlocProvider.of<HomeBloc>(context);
final ProfilePageBloc profileBloc = BlocProvider.of<ProfilePageBloc>(context);
print("homeBloc: ${homeBloc.toString()}");
print("profileBloc: ${profileBloc.toString()}");
return Center(
child: Text("Doesn't really matter"),
);
},
),
);
},
),
);
}
и результат, который я получаю,
homeBloc: Instance of 'HomeBloc'
profileBloc: null
Я ожидал, что profileBloc
будет создан, как homeBloc
.
Это делает меня совершенно неспособным продолжать разработку. Понятия не имею, почему это так. Лучше всего то, что это сработало несколько раз, но мне не удалось воспроизвести такое поведение.
Любая помощь будет принята с благодарностью