我尝试将Firestore快照()加载到StreamController中,以便可以提供给StreamBuilder,以便可以在应用程序中构建新闻提要。
但是出现错误:
getter'stream'在null上被调用。
调用了“添加”方法 空。
这是我的代码:
StreamController<QuerySnapshot> _localStreamController = StreamController<QuerySnapshot>();
@override
void initState() {
super.initState();
Firestore.instance.collection(‘info’).snapshots().listen((QuerySnapshot querySnapshot) {
// if(userAdded == null) {
_localStreamController.add(querySnapshot);
// }
});
...
child: StreamBuilder(
stream: _localStreamController.stream,
builder: (context, snapshot) {
有人知道解决方案吗? 谢谢!
答案 0 :(得分:0)
您需要初始化流 替换此行:
StreamController<QuerySnapshot> _localStreamController = StreamController<QuerySnapshot>();
具有:
StreamController<QuerySnapshot> _localStreamController = StreamController.broadcast();
然后在构建器中,您要考虑尚未加载的数据。因此显示加载屏幕或其他内容可能会很有用。像这样:
if (!snapshot.hasData || snapshot.data.documents.length == 0) {
return Center(child: const Text('Loading ...'));
}