【发布时间】:2021-10-10 08:15:25
【问题描述】:
尝试用firebase做一个登录系统。当我注册时,数据存储firebase并给我验证邮件,它没有用。当我确认时,我需要先给我邮件,然后数据存储firebase。如果我不能使用验证,完美存储数据并且工作正常,它会很好地工作。当我使用验证时,它会同时给我电子邮件和存储数据,而不是等待我的确认..
const SignUp = () => {
const [user, setUser] = useState({
isSignIn: false,
name: '',
email: '',
password: '',
confirmPassword: '',
error: '',
passwordError: '',
success: false
})
//check function password & confirm password equal or not
const isPasswordConfirmed = (password, confimPassword) => {
if (password && confimPassword && password === confimPassword) return true;
return false;
}
const handleSubmit = (event) => {
event.preventDefault()
if (!isPasswordConfirmed(user.password, user.password_confirm)) {
let newuser = { ...user }
newuser.passwordError = "password not matching"
setUser(newuser)
return;
}
// user.sendEmailVerification()
const newname= firebase.auth().createUserWithEmailAndPassword(user.email,
user.password)
.then((userCredential) => {
// Signed in
var user = userCredential.user;
user.sendEmailVerification() //mail verification firebase
let newuser = { ...user }
newuser.error = ""
setUser(newuser)
// UserInfoPass(user.name)
// ...
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
user.isSignIn = false
let newuser = { ...user }
newuser.error = errorMessage
setUser(newuser)
});
}
【问题讨论】:
标签: reactjs firebase firebase-authentication react-hooks email-verification