【发布时间】:2021-04-07 12:13:48
【问题描述】:
我正在尝试使用 react native 和 firebase 验证我的电子邮件地址。目前,我有一个注册页面,在输入所有凭据后,它会向电子邮件发送一个验证链接,我直接进入一个新屏幕。无法验证我的电子邮件。首先,我正在尝试验证我的电子邮件,通过单击电子邮件链接,然后,我可以导航到新屏幕。我正在尝试创建一个中间步骤来验证我的电子邮件地址,目前无法验证我的电子邮件链接。
这是我的尝试,
register: async (email, password) => {
try {
const userCredential = await auth().createUserWithEmailAndPassword(
email,
password,
);
await userCredential.user.sendEmailVerification();
} catch (e) {
console.error(e);
}
},
这是我重定向到新屏幕的尝试。
import React, {useContext, useState, useEffect} from 'react';
import {NavigationContainer} from '@react-navigation/native';
import auth from '@react-native-firebase/auth';
import {AuthContext} from './AuthProvider';
import AuthStack from './AuthStack';
import AppStack from './AppStack';
const Routes = () => {
// getting the created user
const {user, setUser} = useContext(AuthContext);
// subscribe to the users current authentication state, and receive an event whenever that state changes.
const onAuthStateChanged = user => {
setUser(user);
};
useEffect(() => {
const subscriber = auth().onAuthStateChanged(onAuthStateChanged);
return subscriber; // unsubscribe on unmount
}, []);
return (
<NavigationContainer>
{user ? <AppStack /> : <AuthStack />}
</NavigationContainer>
);
};
export default Routes;
【问题讨论】:
标签: reactjs firebase react-native firebase-authentication