IndexedStack은 모든 각각의 텝 내용을 한번에 인스턴스를 생성하기 때문에 자원낭비가 있으므로 사용하지 말고,
각각의 Tab을 구성하는 StatefulWidget에 AutomaticKeepAliveClientMixin를 상속받아 상태를 유지하도록한다.
class MapPage extends StatefulWidget {
@override
State<StatefulWidget> createState() => _MapPage();
}
class _MapPage extends State<MapPage> with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
// do not miss this line
super.build(context);
return Scaffold(
...
);
}