Я хочу взять данные из облачного пожарного хранилища и отправить в другой файл во флаттере
Я использую Streambuilder для извлечения данных, но список не инициализирован глобально
class _DataState extends State<Data> {
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: Firestore.instance.collection('notification').snapshots(),
builder: (context, snapshot) {
if(!snapshot.hasData){
return new Container(
margin: const EdgeInsets.only(top: 25.0),
child: new Center(
child: new Text(
"loading Data Please wait...",
style: new TextStyle(
color: Colors.white
),
),
),
);
}
return ListView.builder(
shrinkWrap: true,
itemCount: snapshot.data.documents.length,
itemBuilder: (BuildContext context, int index) {
DocumentSnapshot ds = snapshot.data.documents[index];
List<Book> books = [
Book(ds['school_name'], ds['school_name'],'Rp 50.000', 'res/corel.jpg', 3.5, 123),
];
}
);
},
);
}
}
ифайл, в который я хочу получить данные:
final grid = CustomScrollView(
primary: false,
slivers: <Widget>[
SliverPadding(
padding: EdgeInsets.all(16.0),
sliver: SliverGrid.count(
childAspectRatio: 2 / 3,
crossAxisCount: 3,
mainAxisSpacing: 20.0,
crossAxisSpacing: 20.0,
children: books.map((book) => createTile(book)).toList(),
),
)
],
);
Проблема в том, как я могу использовать массив книг в другом файле, потому что это локальная переменная. есть ли другой способ сделать то же самое.