问题描述
您是否知道我为什么会收到错误:方法'[]'在null上调用。 接收者:null 尝试调用:每次打开此按钮时,都会显示错误。如果有人知道,请评论您的解决方案。 :)
.onAppear {
// MARK: - fetch from CloudKit
self.userList.names = []
let myUserID = UserDefaults.standard.string(forKey: self.signInWithAppleManager.userIdentifierKey)!
// get my subs projects
CloudKitHelper.getBossSubs(bossID: myUserID) { (results) in
switch results{
case .success(let user):
print("Users appended")
self.userList.names = user.names
case .failure(let er):
print(er.localizedDescription)
}
}
}
Future<DocumentSnapshot> getUserInfo() async {
var firebaseUser = await FirebaseAuth.instance.currentUser;
return await FirebaseFirestore.instance.collection("SerX")
.doc(firebaseUser.uid)
.get();
}
signUp() async {
if(_formKey.currentState.validate()){
setState(() {
isLoading = true;
});
await authService.signUpWithEmailAndPassword(emailEditingController.text,password1.text).then((result) {
if(result != null){
Map<String,String> userDataMap = {
"Username" : usernameEditingController.text,"Email" : emailEditingController.text,};
databaseService.addUserInfo(userDataMap);
HelperFunction.saveUserLoggedInSharedPreference(true);
HelperFunction.saveUserNameSharedPreference(usernameEditingController.text);
HelperFunction.saveUserEmailSharedPreference(emailEditingController.text);
Navigator.pushReplacement(context,MaterialPageRoute(
builder: (context) => LoadingBarForUserCreation()
));
}else{
print(result);
}
}).catchError((e){
_showSettingPanelForEmail();
});
}
}
解决方法
package.json
并在您的注册中
Future<void> addUserInfo(id,userData) async {
await FirebaseFirestore.instance.collection("SerX").doc(id).set(userData);
}