颤振与振动;firebase:参数类型';字符串?';can';不能分配给参数类型';字符串';
我正在为用户进行身份验证(使用firebase),我初始化了一个变量类型颤振与振动;firebase:参数类型';字符串?';can';不能分配给参数类型';字符串';,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,我正在为用户进行身份验证(使用firebase),我初始化了一个变量类型String,但它不起作用 String? _mail; String? _password; String? _prenom; String? _nom; [...] _handlelog(){ if(_mail != null){ if(_password != null){ if(_log == true){ //se connecter Firebase
String
,但它不起作用
String? _mail;
String? _password;
String? _prenom;
String? _nom;
[...]
_handlelog(){
if(_mail != null){
if(_password != null){
if(_log == true){
//se connecter
FirebaseHelper().handleSignIn(_mail, _password).then(((UserCredential user) {
print("Nous avons un user");
})).catchError((error){
alerte(error.toString());
});
}else{
if(_prenom != null){
if(_nom != null){
//créer un compte avec les données de l'utilisateur
FirebaseHelper().handleCreate(_mail, _password, _prenom, _nom).then(((UserCredential user) {
print("Nous avons pu créer un user");
})).catchError((error){
alerte(error.toString());
});
}else{
//Alert nom
alerte("veuillez entrer un nom pour continuer");
}
}else{
//Alert prenom
alerte("veuillez entrer un prenom pour continuer");
}
}
}else{
//Alert password
alerte("le mot de passe est vide");
}
}else{
//Alert mail
alerte("l'adresse mail est vide");
}
}
[...]
我的函数FirebaseHelper()
:
类FirebaseHelper{
//认证
final auth=FirebaseAuth.instance;
Future handleSignIn(字符串邮件、字符串密码)异步{
final UserCredential credential=使用email和password等待身份验证登录(电子邮件:mail,密码:password);
返回凭证;
}
Future handleCreate(字符串邮件、字符串密码、字符串prenom、字符串nom)异步{
final UserCredential credential=等待FirebaseAuth.instance.createUserWithEmailAndPassword(电子邮件:邮件,密码:密码);
字符串uid=凭证。用户!.uid;
地图={
“uid”:uid,
“prenom”:prenom,
“nom”:nom,
};
addUser(uid,map);
返回凭证;
}
当我使用字符串时,它的标记是:
参数类型'String'不能分配给参数类型'String'。
对于所有字符串?
字符串?
是可空类型,而字符串
不是
您需要使用字符串
并对其进行初始化,或者创建一个从字符串返回字符串的方法?
例如:
String nStringToNNString(String? str) {
return str ?? "";
}
您应该在官方文件中阅读:
String nStringToNNString(String? str) {
return str ?? "";
}