import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
HomeScreen();
@override
_HomeScreenState createState() => new _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
int _currentIndex = 0;
final List<Widget> _children = [
MapsScreen(),
HistoryScreen(),
];
@override
void initState() {
super.initState();
RestAPI.loadMapsFromNetwork();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Home screen'),
),
body: _children[_currentIndex],
bottomNavigationBar: BottomNavigationBar(
onTap: onTabTapped, // new
currentIndex: _currentIndex,
items: [
BottomNavigationBarItem(
icon: new Icon(Icons.map),
title: new Text('Maps'),
),
BottomNavigationBarItem(
icon: new Icon(Icons.change_history),
title: new Text('History'),
)
],
),
);
}
void onTabTapped(int index) {
setState(() {
_currentIndex = index;
});
}
}
Этот home.dart выполняет сетевой вызов в методе initState.
Как передать список карт, полученных клиентом из сети, на одну из вкладок, например MapsScreen? Нужно ли использовать ScopedModel или InheritedWidget или есть лучший подход? Вся логика визуализации находится в классе MapsScreen.