Я думаю, что самый простой способ сохранить документную ссылку другого пользователя, если вы храните других пользователей DocumentReference
в своем текущем пользователе, вы можете создать их с помощью FutureBuilder
внутри красной рамки: друзья - Массив другого пользователя DocumentReference
s
Например, у вас есть модель пользователя
class UserModel {
final int age;
final String name;
final List<DocumentReference> friends;
UserModel(this.age, this.name, this.friends);
// to get from Firestore
UserModel.fromSnapshot(DocumentSnapshot snapshot):
age = snapshot['age'],
name = snapshot['name'],
friends = List.from(snapshot['friends']);
}
и я предполагаю, что вы получаете текущего пользователя из магазина
UserModel currentUser;
FutureBuilder(
future: currentUser.friends.first.get(), // this will take the first friend of current user
// or you can query the list here with where
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.none:
return Center(child: Text('Connection State none'));
case ConnectionState.active:
case ConnectionState.waiting:
return Center(child: CircularProgressIndicator());
case ConnectionState.done:
if (snapshot.hasError)
return Center(child: Text('Error: ${snapshot.error}'));
return Padding(
padding:
const EdgeInsets.only(left: 20.0, right: 20.0, top: 10.0),
child: Text(
snapshot.data['age'],
style: TextStyle(
fontFamily: 'Montserrat',
fontWeight: FontWeight.bold,
fontSize: 17.0),
),
);
}
});
Надеюсь, это решит вашу проблему.