0

如何使用 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);
                                  }),
                            );
                          }
                        ),
4

0 回答 0