我正在使用Flutter来交换少量设备的Firestore数据。
如果我使用StreamBuilder,一切正常,但是我不喜欢将业务逻辑与UI混合使用。我更喜欢使用flutter_bloc插件将BLOC用作模式。
但是flutter_bloc以这种方式工作:
步骤:
事件------------------------>新数据却没有新的UI事件
异步请求
异步响应
状态(mapEventToState)------->¿如何获取新状态?
由于没有从其他设备更新Firestore数据,因此我没有“ UI事件”,我无法更新状态。
我可以在bloc构造函数上使用类似的东西:
Stream<QuerySnapshot> query;
QuedadaBloc(){
query = Firestore.instance.collection('my_collection').snapshots();
query.listen((datos){
dispatch(Fetch()); // send fictitious UI event
});
}
但是我认为这不是正确的方法。
有什么建议吗?
非常感谢。
J。巴勃罗。