方法 'collection' 在 null 上调用。接收方空 已尝试调用: 集合( "user" )


getProfileDetailFromFirestore(String token) {
firebaseFirestore.collection("user").doc(token).snapshots().listen((value) {
profileDataSink.add(profileObject.fromMapObject(value.data()));
});
}
Future<void> followOrUnFollowUser(String selfToken, String friendToken,
ProfileObject self, ProfileObject friend, bool isUserFollowing) async {
await firebaseFirestore.collection("user").doc(selfToken).update({
"following": isUserFollowing
? FieldValue.arrayRemove([friend.toMapLimitedData()])
: FieldValue.arrayUnion([friend.toMapLimitedData()]),
});
await firebaseFirestore.collection("user").doc(friendToken).update({
"follower": isUserFollowing
? FieldValue.arrayRemove([self.toMapLimitedData()])
: FieldValue.arrayUnion([self.toMapLimitedData()]),
});
}
dispose() {
_postCreatedController.close();
_profileObjectController.close();
}
}

这是一个我的代码,我得到的错误的标题,每当我尝试点击一个按钮,我的应用程序看到我的独特的配置文件。

  • 确保初始化FirebaseApp:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
...
}
  • 确保(firebaseFirestore.collection("user")…)像:
FirebaseFirestore.instance.collection('user').doc(token).snapshots().listen((event) {
// your code here
});

您得到错误,因为firebaseFirestore为空。

确保您定义了firebaseFirestore变量。

你可以这样做:

FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance;

最新更新