Я занимаюсь разработкой приложения для социальных сетей, используя Flutter и Firestore. То, что я сделал, было
- Создать класс модели UserAttributes для пользователей. это код моей модели
- получить поток UserAttributs
Stream<List<UserAttributes>> get userdata {
return userCollection.snapshots().map(_userAttributesFromSnapShot);
}
4.Установить StreamProvider на нужную страницу (отмеченную звездочкой)
class MapPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
**return StreamProvider<List<UserAttributes>>.value(
value: DatabaseService().userdata,**
child: Scaffold(
backgroundColor: Color(0xff09031D),
appBar: PreferredSize(
preferredSize: Size.fromHeight(30.0),
child: header()),
drawer: myDrawer(),
body: Container(child: MyUserData()),
),
);
}
5.Печатать значения из списка UserAttributes
class MyUserData extends StatelessWidget {
@override
Widget build(BuildContext context) {
final userData = Provider.of<List<UserAttributes>>(context);
userData.forEach((doc) {
print(doc.firstName);
print(doc.secondName);
print(doc.city);
print(doc.country);
print(doc.gender);
print(doc.playerPoints);
print(doc.playerType);
});
return Container();
}
}
Мой вопрос: при печати атрибутов пользователя я получаю все коллекции из базы данных. Я хочу войти только в UserAttributes пользователя. как мне этого добиться?