我对firebase和flutter有意见。我正在建立的应用程序登录并显示从收集的费用列表,其名称是用户id。当用户登录时,他将看到包含其集合中的项目的列表。我使用的是Stream方法。问题是,在用户登录之前,stream接收到null id,应用程序崩溃。有没有办法在用户登录后设置这个流?我将非常感谢您的帮助! 这就是错误 The following assertion was thrown building Home(dirty):
'package:cloud_firestore/src/firestore.dart': Failed assertion: line 7
这是我的储藏室
class DB {
final db = FirebaseFirestore.instance;
Stream<QuerySnapshot> init(UserModel user) {
return db
.collection('CollectionName')
.doc(user.email) //this is a unique value which i want to retrieve the value from main after successful login
这是我尝试编写的第一个应用程序。 我在我的应用中使用了Firebase Auth和Cloud Firestore。如何在不使用await的情况下使登录用户的uid在每个屏幕上都可用? 我知道我可以这样做: final FirebaseUser user = await _auth.currentUser();
String id = user.uid; 但是我需要访问uid而不需要等待它,例如: Stream<QuerySnapshot> get groups {
return Firestore.instance.collection("userGroups
我制作了这个库应用程序,用户可以登录并添加书籍。因此,当用户登录应用程序从一个消防局收集的数据时,酷。当用户登录一次,然后退出,然后再次登录而不刷新应用程序时,就会出现问题。如果用户执行两次此操作,则获取两次,如果执行三次,则获取三次。多次执行fetchBooks()的代码,signInWithGoogle()只执行一次。下面是所涉及的代码:
function signInWithGoogle(){
const provider = new firebase.auth.GoogleAuthProvider()
auth.signInWithPopup(provider)
我想做的是从云Firestore中检索数据,只为登录到应用程序的用户。我正在使用Auth Firebase,我构建了一个方法来从一个名为" user“的特定集合中检索一些文档,它可以显示登录的用户的正确名称以及注册到我的表单中的用户的名称。现在我正在用另一个表单收集另一个名为"shippingAddress“的Firestore集合,"shippingAddress”集合中的文档应该只为登录到应用程序中的特定用户显示。但这是不会发生的,任何用户登录我得到相同的数据从所有用户除了姓名和电子邮件地址。这是我的代码: final databaseReference = Fi