反应本地firebase身份验证返回未定义

时间:2018-06-25 04:06:29

标签: react-native firebase-authentication

我是一个初学者,尝试使用Firebase进行我的本机项目身份验证。我能够验证用户身份,打印用户详细信息和/或在验证时发现任何错误。但是我无法将值返回给另一个函数。 我的项目层次结构: 项目  |-> utils / firebaseConnection.js  |-> Components / Login.js

这是我的Firebase身份验证代码:

export function loginUser (email,password) {
  firebase.auth().signInWithEmailAndPassword(email,password)
    .then(user => {
      console.log('user: ', user)
      return user
    })
}

我可以在控制台中打印用户数据,但是在Login组件中看不到返回值。下面是登录组件方法的代码:

 import * as firebaseAPI from '../utils/firebaseConnection'
    ...
    ...
    loginUser (email,password) {
        console.log('l1: ', firebaseAPI.loginUser(email,password));
      }

但是l1打印“ undefined”。我什至尝试过firebaseAPI.loginUser(email,password).then(user),但是即使这样也会产生未定义的错误。请帮帮我。谢谢。如果需要,我可以给您更多信息。

1 个答案:

答案 0 :(得分:0)

您不能从异步调用返回任何内容。请参阅JJJ提供的链接以获取更详细的解释,但这基本上意味着您应该只返回从signInWithEmailAndPassword获得的承诺,并将then()放入您的调用代码中:

export function loginUser (email,password) {
  return firebase.auth().signInWithEmailAndPassword(email,password)
}

loginUser (email,password).then(user => {
    console.log('l1: ', user);
  });