我正在构建一个Flutter应用程序,我在理解如何实现Firestore方面遇到了困难。在我看过的教程中,我只看到了如何创建整个集合的快照,然而在我的情况下,我的集合是用户,所以我只需要快照一个特定用户的文档。Firebase文档上似乎没有关于如何做到这一点的文档,FlutterFire GitHub页面上也没有太多文档。请帮助!
这是我尝试用StreamBuilder构建的小部件。
@override
Widget build(BuildContext context) {
return new StreamBuilder(
stream: Firestore.instance.collection('users').document(userId).snapshots(),
builder: (context, snapshot) {
return new ListView.builder(
itemCount: //what do I put here?,
itemBuilder: (context, index) => new Item(//And here?),
);
}
);
}
3条答案
按热度按时间ndh0cuux1#
假设您想从文档中创建一个带有name参数的
Text
这只是一个示例。在文档上创建StreamBuilder将在每次更改文档本身时重新生成。您可以尝试此代码,然后转到您的控制台并更改“名称”值。您的应用将自动反映更改。
您可以使用流中的数据构建整个树,而不是只构建一个
Text
。如果您希望获得文档的即时值,可以通过解析文档引用上的
get()
方法的Future
来实现。rqcrx0a62#
每个元素都应强制转换为在代码的后面有一个引用。
inb24sb23#
使用
null safety
更新2023