ListView (Flutter) показывает содержимое только после второго захода на страниу

Есть список категорий, когда заходишь первый раз выдает что нету элементов (lenght = 0) и естественно список пустой При заходе на тот же скрин второй раз списки показываются Я так понимаю, что мне просто необходимо обновить содержимое строителя виджета, но как мне это сделать, ломаю голову уже третий час

class _ViewCategoryState extends State<ViewCategory> {
  final MainStore store;
  
  _ViewCategoryState({this.store});

  List<bool> isSelected = [true, false];
  int categoryid = global.id;

  @override
  void initState() {
    global.currentid = global.id;
    widget.store.profile.getPartCats();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    print("КОЛ-ВО записей${widget.store.profile.myPartCategories.length}");
    
    return Scaffold( 
      appBar: AppBar( 
        title:Text("Партнеры - ${global.title}"), 
      ), 
      body: ListView.builder( 
        itemCount: widget.store.profile.myPartCategories.length, 
        itemBuilder: (BuildContext context,int index){ 
          if(widget.store.profile.myPartCategories[index]['cat'] == global.id) {
            return RoundedButton(
              '${widget.store.profile.myPartCategories[index]['title']}',
              fillColor: Color(0xFFFFFFFF),
              borderColor: Color(0xFFF6F6F6),
              textColor: Color(0xFF424242),
              fontSize: 4.2 * SizeConfig.scale,
              width: 90 * SizeConfig.scale,
              action: () {
                global.cattitle = '${widget.store.profile.myPartCategories[index]['title']}';
                global.catid = widget.store.profile.myPartCategories[index]['id'];
                Navigator.of(context).push(
                  MaterialPageRoute(
                    builder: (context) => SafeArea(
                      child: Scaffold(
                        body: ViewPartners(
                          store: store,
                          back: () => Navigator.pop(context),
                          close: () => Navigator.pop(context),
                          forward: () => Navigator.pop(context),
                        ),
                      ),
                    ),
                  ),
                );
              },
            );
          } else {
            return Container();
          }
        }, 
      ), 
    );
  }
}

и запрос

@action
  Future<void> getPartCats() async {
    var url = "/partners.getCategories.php";
    await dio.post(url).then(
        (Response value) async {
      myPartCategories = ObservableList<ObservableMap<String, dynamic>>.of([]);
      for (var item in value.data) {
        myPartCategories.add(ObservableMap.of(item));
      }
    });
  }

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