如何使用 Flutter 在 bloc(cubit) 状态管理中跟踪屏幕上多个状态的路径?
我的主屏幕上的第一个小部件是用于城市的 DropdownButton,第二个小部件是用于公告的 CarouselSlider。我应该为每个状态管理创建一个单独的 Cubit 文件还是像 HomeCubit 这样的统一文件名?
当我创建统一的 HomeCubit 并包装单个 BlocBuilder<HomeCubit, HomeState> 小部件时, setState() 是否会重新加载所有空间?
我是否为唯一 int 索引号将更改的字段创建 CityCubit、CityState、AnnouncementCubit、AnnouncementState?
示例小部件
BlocBuilder<HomeCubit, HomeState>(
builder: (context, state) {
return CarouselSlider(
items: announcements,
carouselController: carouselController,
options: CarouselOptions(
viewportFraction: 1,
enlargeCenterPage: false,
onPageChanged: (index, reason) {
selectedAnnouncements = index;
context.read<HomeCubit>().changeCarouselIndicatorChanged(selectedAnnouncements);
}),
);
}
),