Как обновить виджет в CupertinoTabScaffold?

У меня есть CupertinoTabScaffold с 4 страницами, мне нужно обновлять определенные страницы по юзер токену, то есть после логина или логаута, переменная меняется и мне надо обновить табы когда она меняется, как я могу это реализовать?

мой код:

CupertinoTabScaffold(
          controller: _controller,
          key: myKey,
          backgroundColor: Colors.black87,
          tabBar: CupertinoTabBar(
            inactiveColor: const Color.fromRGBO(43, 46, 74, 1),
            activeColor: const Color.fromRGBO(232, 69, 69, 1),
            iconSize: 27,
            currentIndex: currentIndex,
            onTap: onItemTapped,
            items: const [
              BottomNavigationBarItem(
                  icon: Icon(CupertinoIcons.house),
                  activeIcon: Icon(CupertinoIcons.house_fill)),
              BottomNavigationBarItem(
                  icon: Icon(CupertinoIcons.square_list),
                  activeIcon: Icon(CupertinoIcons.square_list_fill)),
              BottomNavigationBarItem(
                  icon: Icon(CupertinoIcons.cart),
                  activeIcon: Icon(CupertinoIcons.cart_fill)),
              BottomNavigationBarItem(
                  icon: Icon(CupertinoIcons.person),
                  activeIcon: Icon(CupertinoIcons.person_fill)),
            ],
          ),
          tabBuilder: (BuildContext context, int index) {
            switch (index) {
              case 0:
                return CupertinoTabView(
                  navigatorKey: tabNavKeys[index],
                  builder: (BuildContext context) => const HomePage(),
                );
              case 1:
                return CupertinoTabView(
                  navigatorKey: tabNavKeys[index],
                  builder: (BuildContext context) => const CatalogPage(),
                );
              case 2:
                return currentIndex == 2
                    ? CupertinoTabView(
                        navigatorKey: tabNavKeys[2],
                        builder: (BuildContext context) {
                          return const CupertinoPageScaffold(
                            resizeToAvoidBottomInset: false,
                            child: ShoppingBag(),
                          );
                        },
                      )
                    : Container();
              case 3:
                return CupertinoTabView(
                  navigatorKey: tabNavKeys[3],
                  builder: (BuildContext context) {
                    return const CupertinoPageScaffold(
                      resizeToAvoidBottomInset: false,
                      child: UserProfileScaffold(),
                    );
                  },
                );
              default:
                return Container();
            }
          }),

Ответы (0 шт):