【发布时间】:2022-02-05 23:38:38
【问题描述】:
我正在尝试创建一个您只能使用现有电子邮件的注册系统。我正在尝试在他们按下按钮后向电子邮件发送电子邮件验证链接,如果通过验证,则创建用户。这是我的功能:
userSignUp = (emailID,password,confirmPassword) => {
if(password !== confirmPassword) {
return alert("Password does not match. \n Check your password.")
}
else if(this.state.firstName !== '' &&
this.state.lastName !== '' &&
this.state.emailID !== '' &&
this.state.password !== ''){
alert('A mail has been sent to your email account. Verify it and you will be able to login.');
return firebase.auth().currentUser.sendEmailVerification()
.then(() => {
if(authUser.user.emailVerified){ //This will return true or false
firebase.auth().createUserWithEmailAndPassword(emailID, password)
.then(()=>{
//console.log(this.state)
db.collection("Users").add({
'firstName': this.state.firstName,
'lastName': this.state.lastName,
'contact': this.state.contact,
'emailID': this.state.emailID,
'password': this.state.password,
'points': 0,
'description': ''
})
return alert('Account has been created. You can now login.');
})
.catch((error) => {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
return alert(errorMessage);
});
} else {
return alert('Verification failed. Failed to create account.')
}
});
}
else if(this.state.firstName === ''){
return alert("Please enter your first name.");
}
else if(this.state.lastName === ''){
return alert("Please enter your last name.");
}
else if(this.state.emailID === ''){
return alert("Please enter your email address.");
}
else if(this.state.password === ''){
return alert("Please enter your password.");
}
}
顺便说一句,我也收到此错误
TypeError: null 不是对象(评估 'firebase.default.auth().currentUser.sendEmailVerification')
是否有任何其他方法可以验证电子邮件是否存在。我在使用 expo 客户端的 javascript 上。谁能帮帮我吗?谢谢。
【问题讨论】:
标签: javascript firebase react-native firebase-authentication expo