Вам необходимо использовать FutureBuilder
, виджет FutureBuilder поставляется с Flutter и упрощает работу с асинхронными c источниками данных. Поэтому вам нужно сделать следующее:
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Container(
child : FutureBuilder(
future: FirebaseAuth.instance.currentUser(),
builder: (context, snapshot) {
if (snapshot.hasData) {
print(snapshot);
return Text(snapshot.data.uid);
}
// By default, show a loading spinner.
return CircularProgressIndicator();
}
)
Свойство future
будет содержать асинхронные вычисления, к которым в данный момент подключен этот компоновщик, возможно, null. Также вы должны использовать Stateful Widget
.