问题标签 [stream-builder]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firebase - snapshot.data 在 streambuilder 中返回 null 但在我返回带有快照数据的数据模型之前显示正确的值
这是我的流生成器的代码。
这是我拥有所有数据库查询的类。我似乎已成功从 firebase 获取数据,但它没有显示在我的流生成器中。我怀疑数据没有注入到我创建的数据模型中,但不知道如何注入。
更新:它没有返回空值。我尝试收到错误消息。消息显示“'type 'List' 不是 type 'List' 的子类型”。
flutter - 如何告诉 StreamBuilder 我在出错后重试加载数据
我有一个用于加载视频帖子列表的流生成器。每当发生错误时,我都会向接收器添加一个错误,并且StreamBuilder会显示一条带有“重试”按钮的错误消息。我的问题是,当我按下按钮时,什么都没有发生(视觉上),但我想在重试时用 spinLoader 替换错误消息。
我将如何实现这一目标?
我正在考虑向接收器添加一个布尔值并检查 snapshot.data 是否为布尔值,如果是则返回 spinLoader,但这似乎违反直觉。
flutter - 使用streambuilder颤动firestore分页
我有一个颤振的应用程序,并且在使用 firestore 与 streambuilder 实现分页时遇到问题。研究了这个话题,有一些答案,但没有一个能解决我的问题。我的应用程序是一个需要实时数据的社交媒体应用程序。如果用户向下滚动,我需要检索有限的数据,然后加载更多数据。我如何使用流和流构建器来实现它,而不是未来和未来的构建器;类似于 Facebook 的东西。
flutter - 颤振:未处理的异常:在构建期间调用了 setState() 或 markNeedsBuild()
我有这个异常的问题,我被卡住了,我需要你的帮助。我在流构建器中使用导航器,我已经在流构建器中使用它,但是这次我有一个异常,我不知道如何解决它。它尝试添加处置功能,但我不知道如何关闭流构建器。
这是我的状态Widget build(BuildContext context) {
changestate();
return Scaffold(
backgroundColor: Theme.of(context).backgroundColor,
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 40),
Text('VOUS', style: TextStyle(fontSize: 50)),
Text(
'devez ' + legage,
style: TextStyle(fontSize: 35),
),
SizedBox(height: 30),
Image(image: AssetImage('assets/images/hands/2htop.png')),
SizedBox(height: 30),
Expanded(
child: StreamBuilder(
stream: Firestore.instance
.collection('rooms')
.document(pincode)
.snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData &&
snapshot.data['nb screen'] == 1) {
gotdata++;
newduel(context);
}
return StreamBuilder<QuerySnapshot>(
stream: Firestore.instance
.collection('rooms')
.document(pincode)
.collection('users')
.snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData)
return Text("Chargement....");
else {
return new GridView.count(
crossAxisCount: 5,
children: snapshot.data.documents
.map((DocumentSnapshot document) {
return Container(
child: OvalPic(
document['photo'], document['couleur']),
);
}).toList());
}
},
);
},
),
),
Container(
child: (ffull2 == 0)
? AnimatedLiquidLinearProgressIndicator()
: fgbutton(mypink, 'DUEL SUIVANT', context)),
SizedBox(height: 30)
],
),
),
);
}
}
这就是newduel中的内容:
Navigator.pushReplacement(
context, MaterialPageRoute(builder: (context) => Votes()));
错误是:
listview - 如何创建搜索栏和列表(使用 FireStore 中的 StreamBuilder 和 Listview 创建)一起滚动?
我对颤振/飞镖相对较新,我正在尝试让我的一个页面上的格式正常工作。我想在顶部有一个搜索栏,然后是一个列表(填充来自 Firestore 的信息),我想让它们一起滚动而不仅仅是列表。
到目前为止,这是我的代码的一部分:
我该怎么办?
flutter - 我需要取消 Stream(扑)
我正在听 Firestore 中的一组文档(作为聊天应用程序的一部分)。我通过使用一个服务来做到这一点,该服务创建Stream<QuerySnapshot>
如下:
然后我创建一个 StreamBuilder 如下:
我想知道是否需要在包含StreamBuilder
小部件的 dispose 方法中分离此流。我对 Streams 和 StreamBuilders 了解不多,所以我不知道该怎么做,但我真的很想避免任何内存泄漏。
firebase - 具有多个侦听器的全局流
我有一个连接到 Firebase 文档的流,并且我一直在收听文档的任何更改。
我想在文档更改时更新我的应用程序的某些部分,因此我使流全局可用,并在不同的屏幕上使用 StreamBuilders,以便屏幕上可以使用最新的数据。
全局流和多个StreamBuilders会不会有问题?当 StreamBuilders 在多个屏幕上创建时,应用程序如何工作?
这是我的全局流:
这是我的一个屏幕小部件的构建方法(我根据流数据更改按钮的颜色):
firebase - 快照返回空值----flutter
伙计们,我是新来的,并且一直在尝试从 firebase 检索数据并使用 streambuilder 将其显示在 gridview 中。但它的快照是空的。我经历了其他用户提出的类似问题,但没有任何效果。
错误:════════(3)widgets库捕获的异常═══════════════════════════════ ═══════════════════ getter 'itemImage' 在 null 上调用。Receiver: null 尝试调用:itemImage 相关的导致错误的小部件是:GridCard file:///C:/Users/dell/foodie_demo/lib/User_Screens/home.dart:107:28 ═════════ ══════════════════════════════════════════════════ ═════════════════════════════════════════
'''
firebase - StreamBuild:流,调用返回Firestore的方法 Stream在更新之前不会检索数据
我希望有人可以解释为什么在显式调用Firestore.instance.collection('data').snapshots()与调用包含Firestore.instance.collection('data').snapshots( )并返回一个流。
调用包含Firestore.instance.collection('data').snapshots()的方法仅在对 firestore 数据进行更改后抓取数据快照。
flutter - StreamBuilder ListView 在首次加载时从 Firestore 返回空列表
在我作为注册过程的一部分构建的应用程序中,为每个“用户”文档创建了一个子集合,其中包含多达 100 个文档。
我试图在StreamBuilder
.
我有一个无法解决的奇怪错误。当StreamBuilder
用户第一次查看数据时,它不会显示数据。相反,它返回一个空列表。
我可以看到文档已在子集合中正确生成。数据正在使用 StreamBuilder 的页面之前的页面上设置。即使有延迟,我也会认为新文档会刚刚开始出现在StreamBuilder
.
Firebase 控制台视图
如果应用程序重新启动,或者用户注销并再次登录,StreamBuilder会按预期显示数据。
下面是我正在使用的代码:
编辑:根据评论请求添加主构建
我已经尝试解决
我最初以为是连接错误,所以创建了一系列基于switch (snapshot.connectionState)
. 我可以看到,ConnectionState.active = true
因此认为在 Firestore 中添加新文档可能会产生效果,但什么也没做。
我尝试了以下方法来使初始流构造函数异步。它无法加载任何数据。
我试过删除 tabcontroller 元素——例如只有一个页面——但这也无济于事。
我尝试使用 aDocumentSnapshot
和 a访问数据QuerySnapshot
。我两个都有问题。
我敢肯定这很简单,但坚持下去。非常感谢任何帮助。谢谢!