在执行 createUserWithEmailAndPassword 后,使用 sendEmailVerification React Native 检查用户电子邮件
React Native check user email with sendEmailVerification after createUserWithEmailAndPassword is perform
我已经分配了一个任务来编写代码,以便在用户在基于 React Native 的注册屏幕中注册后向用户发送电子邮件验证。创建新用户是在一个名为 AuthProvider.js 的 js 文件中处理的。在 AuthContext.Provider 的 return 值之一中,有一个处理创建新用户的操作,代码如下所示,运行正常。
registerWithEmail: async (userDetails) => {
const { email, password } = userDetails;
return await auth()
.createUserWithEmailAndPassword(email, password)
.then(() => {
//wish to add on the send email verification action here
return true;
});
}
上面的 return true 代码用于在注册屏幕中进行检查。如果我希望 return 仅当验证电子邮件发送给他们并被单击的条件时才显示真实值。我该怎么做,我可以得到任何指导吗?
我对 react-native 了解不多,但在 android studio 中,当我们发送验证电子邮件以及用户单击它时。我们有 firebase 功能来检查用户是否点击了验证 link。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user.isEmailVerified())
{
// user is verified, so you can finish this screen or send user to other screen which you want.
}
希望对您有所帮助,给您一些思路...
您可以通过这种方式将 async-await
语法与 `try-catch 结合使用。
registerWithEmail: async (userDetails) => {
try {
const { email, password } = userDetails;
const {user} = await auth().createUserWithEmailAndPassword(email, password)
await user.sendEmailVerification()
return true
} catch (e) {
console.log(e)
return false
}
只有在发送电子邮件时才会 return 为真。如果函数中有任何错误,它将触发 catch 并且函数将 return false.
我已经分配了一个任务来编写代码,以便在用户在基于 React Native 的注册屏幕中注册后向用户发送电子邮件验证。创建新用户是在一个名为 AuthProvider.js 的 js 文件中处理的。在 AuthContext.Provider 的 return 值之一中,有一个处理创建新用户的操作,代码如下所示,运行正常。
registerWithEmail: async (userDetails) => {
const { email, password } = userDetails;
return await auth()
.createUserWithEmailAndPassword(email, password)
.then(() => {
//wish to add on the send email verification action here
return true;
});
}
上面的 return true 代码用于在注册屏幕中进行检查。如果我希望 return 仅当验证电子邮件发送给他们并被单击的条件时才显示真实值。我该怎么做,我可以得到任何指导吗?
我对 react-native 了解不多,但在 android studio 中,当我们发送验证电子邮件以及用户单击它时。我们有 firebase 功能来检查用户是否点击了验证 link。
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user.isEmailVerified())
{
// user is verified, so you can finish this screen or send user to other screen which you want.
}
希望对您有所帮助,给您一些思路...
您可以通过这种方式将 async-await
语法与 `try-catch 结合使用。
registerWithEmail: async (userDetails) => {
try {
const { email, password } = userDetails;
const {user} = await auth().createUserWithEmailAndPassword(email, password)
await user.sendEmailVerification()
return true
} catch (e) {
console.log(e)
return false
}
只有在发送电子邮件时才会 return 为真。如果函数中有任何错误,它将触发 catch 并且函数将 return false.