我从Firestore访问单个数据时遇到问题。由于从Firestore访问数据是一个未来,每当我试图从initState和setState调用它,它只是打印null
,所以我决定使用FutureBuilder。那么现在,是否可以从FutureBuilder访问从page1.dart
到page2.dart
的另一个页面的返回数据?
page1.dart
class FetchSingleData extends StatelessWidget {
// I want to access this one
String? uniqueHandler;
FetchSingleData({super.key, this.uniqueHandler});
Future<QuerySnapshot> fetchUniqueHanlder() async {
return await FirebaseFirestore.instance.collection('users').get().then((value) => uniqueHandler = value.docs.first['userUniqueHandle']);
}
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: fetchUniqueHanlder(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
// I want to access this one
return Text(uniqueHandler!);
}
return CircularProgressIndicator();
});
}
}
这是我的firebase firestore的片段/图像。
我只想从FutureBuilder(page1.dart)访问userUniqueHandler
到MainScreen(page2.dart)
1条答案
按热度按时间8yoxcaq71#
snapshot
本身包含以下数据:试试这个: