首页 > 解决方案 > 如何使用 auth().createUserWithEmailAndPassword 接收用户名和国家/地区

问题描述

美好的一天开发者。请我是新来的反应本机的,我想将firebase auth用于一个项目。但我不知道如何使用普通的 auth().createUserWithEmailAndPassword 方法接受用户名和国家/地区。到目前为止,以下是我的代码..但它确实工作正常。

import React, {createContext, useState} from 'react';
import { StyleSheet, ActivityIndicator, View, Text, Alert } from 'react-native'
import auth from '@react-native-firebase/auth';
import firebase from '@react-native-firebase/app';

export const AuthContext = createContext();

export const AuthProvider = ({children}) => {
  const [user, setUser] = useState(null);
  
  return (
    <AuthContext.Provider
      value={{
        user,
        setUser,
        login: async (email, password) => {
          try {
            await auth().signInWithEmailAndPassword(email, password);
          } catch (e) {
            console.log(e);
        Alert.alert(
            e.message);
          }
        },
        register: async (name, email, password) => {
          try {
            await auth().createUserWithEmailAndPassword(email, password);
            firebase.auth().currentUser.updateProfile({
      displayName: name
    });
            Alert.alert("Success ✅", "Account created successfully")
            return {};
          }
          catch (e) {
           
        Alert.alert(
            e.message  );
          }
        },
        


        forgot: async (email) => {
          try {
            await firebase.auth().sendPasswordResetEmail(email);
            Alert.alert("Success ✅", "A Password Recorvery Link has been sent to your mail.")
          }
          catch (e) {
           
        Alert.alert(
            e.message  );
          }
        },

        logout: async () => {
          try {
            await auth().signOut();
          } catch (e) {
            Alert.alert(
            e.message  );
          }
        },

        sendver: async () => {
          try {
            await firebase.auth().currentUser.sendEmailVerification();
          } catch (e) {
            Alert.alert(
            e.message  );
          }
        },

      }}>
      {children}
    </AuthContext.Provider>
  );
};

如果有人可以提供帮助,我会非常感激。非常感谢。

标签: javascriptreactjsfirebasereact-nativefirebase-authentication

解决方案


试试这个方法

firebase.auth().signInWithEmailAndPassword("abc@gmail.com", "******")
  .then(function(user) {
     // Success 
   })
.catch(function(error) {
    // Error Handling
});

注意:将成功的用户信息保存在数据库中


推荐阅读