Это виджет моей домашней страницы ...
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(''),
actions: <Widget>[
FlatButton(
onPressed: () => _signOut(context),
child: Text('Sign out'),
)
],
),
body: Container( ),
);
}
}
У меня есть коллекция Firebase с именем "users", внутри нее есть документы, эти документы создаются с использованием UID зарегистрированного / зарегистрированного пользователя, например«Dn0dXfzwhjWZRKYqO8N1VrUIzNm2», и в этих документах есть поле: «firstname» ....
Я хочу использовать Streambuilder (в теле моего скаффолда), например:
StreamBuilder(
stream: Firestore
.instance.collection('users')
.document('Dn0dXfzwhjWZRKYqO8N1VrUIzNm2')
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return const Text("Loading...");
return _buildFirstname(context, snapshot.data);
})
но вместо «Dn0dXfzwhjWZRKYqO8N1VrUIzNm2» в качестве «документа» я хочу, чтобы это была строка, которая динамически вызывает UID пользователя, но она просто не будет работать ...
Я прочитал всеответы от людей до сих пор, но я не могу понять, что я должен делать с предоставленной информацией, потому что это не достаточно ясно для меня ...
PS: виджет "_buildFirstname" будетпросто вот так
Widget _buildFirstname(
BuildContext context, DocumentSnapshot document) {
return
Text(document['firstname'],
);
}
Кстати, мое приложение основано на этом видео.
Как и в этом видео: https://www.youtube.com/watch?v=nxu4bMpPvCQ
ОГРОМНОЕ спасибо всемкто может помочь мне понять это. Я думаю, что мне нужен кто-то, чтобы объяснить ответ более подробно.
Мне действительно нужно это понять, чтобы я мог прогрессировать.