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)