TypeError:undefined不是一个函数(评估'_Fire2.default.auth.onAuthStateChanged')React Native

时间:2018-08-06 06:55:54

标签: javascript firebase react-native firebase-authentication

我正在尝试使用Firebase登录注册来验证我的react native expo应用程序,我不知道为什么我的应用程序会出现此问题,但是如果有人知道生病,请多谢。 Here I have also attached screenshot of my error on emulator

错误在App.js文件中,我提到其中发生错误的那一行。 我的源代码在下面,

fire.js中,我刚刚输入了Firebase身份验证详细信息。 fire.js

import firebase from 'firebase';

const config = {
    apiKey: "AIzaSyAQmlKQO5H0bTnjOgKZn50_FWmgMccmQLw",
    authDomain: "savapp-3dd0f.firebaseapp.com",
    databaseURL: "https://savapp-3dd0f.firebaseio.com",
    projectId: "savapp-3dd0f",
    storageBucket: "savapp-3dd0f.appspot.com",
    messagingSenderId: "456931428577"
};
const fire = firebase.initializeApp(config);
export default fire;

在login.js中,我创建了一个界面,其中所有登录过程都在进行,然后将其导入App.js文件中。 Login.js

import fire from './Fire';
constructor(props)
  {
    super(props);
    this.login = this.login.bind(this);
    this.handleChange = this.handleChange.bind(this);
    this.state=
    {
      email:'',
      password:''
    }
  }

  login()
  {
    fire.auth.createUserWithEmailAndPassword(this.state.email , this.state.password).then((u)=>{
    }).catch((error)=>{
      console.log(error);
    });
  }

最后是在App.js发生错误的地方,我也以注释形式提到了发生错误的地方。 App.js

从“ ./app/components/Fire”导入火

class App extends React.Component {
    constructor(props)
    {
      super(props);
      this.authListener = this.authListener.bind(this);
      this.state={
        user:{},
      }
    }

    componentDidMount()
    {
      this.authListener();
    }

    authListener()
    { 
      fire.auth.onAuthStateChanged((user) => { //Here error is happening
        if(user)
        {
          this.setState({user});
        }
        else
        {
          this.setState({user:null});
        }
      })
    }

0 个答案:

没有答案