Flutter Navigation Drawer + нижняя панель навигации, как использовать правильно? - PullRequest
0 голосов
/ 26 апреля 2019

Bottombarnavbar меняет экран, изменяя индекс массива, который содержит мои разные экраны. Я получаю сообщение об ошибке при попытке установить состояние для этого индекса из своего ящика навигации:

Я дошел до того, что мне нужно установить State для индекса. Я скопировал только важные части.

Drawer.dart

MyHomePage().setCurrentIndex(4);

main.dart

class MyHomePage extends StatefulWidget {

  void setCurrentIndex(index){
    _MyHomePageState().setCurrentIndex = index;

  }
}

class _MyHomePageState extends State<MyHomePage>{

  int currentIndex = 0;

  void set setCurrentIndex(index){
    currentIndex = index;
    setState(() {
      currentIndex = index;
      print(index);
    });
  }
}

Если вы распечатываете индекс в setCurrentIndex без setState, индекс распечатывается правильно, но при использовании setState появляется эта ошибка:

setState() called in constructor: _MyHomePageState#61a4e(lifecycle state: created, no widget, not mounted)
...