如何解决此错误->Undefined不是一个对象(求值'_app.default.auth)



我是react native的新手,我用它来创建一个类似Instagram克隆的应用程序。我在Javascript, Expo cli和firebase中使用React Native。在我尝试注册到应用程序之前,一切都很好。这是一家公司要求我作为我大学实习的一部分制作的应用程序,我从未使用过react/react-native/firebase等。

下面是我的代码:

Firebase.js

import app from 'firebase/app';
const firebaseConfig = {
apiKey: "AI*********",
authDomain: "*********",
projectId: "*********",
storageBucket: "*********",
messagingSenderId: "*********",
appId: "*********",
measurementId: "*********"
};
class Firebase {
constructor() {
app.initializeApp(firebaseConfig);
}
}
export default Firebase;

Register.js

import React, { Component } from 'react'
import { View, Button, TextInput } from 'react-native'
import app from 'firebase/app'
import 'firebase/auth'
export class Register extends Component {
constructor(props) {
super(props);
this.state = {
email: '',
password: '',
name: ''
}

this.onSignUp = this.onSignUp.bind(this)
}
onSignUp() {
const { email, password, name } = this.state;
app.auth().createUserWithEmailAndPassword(email, password)
.then((result) => {
console.log(result)
})
.catch((error) => {
console.log(error)
})
}
render() {
return (
<View>
<TextInput 
placeholder="Name"
onChangeText={(name) => this.setState({ name })}
/>
<TextInput 
placeholder="Email"
onChangeText={(email) => this.setState({ email })}
/>
<TextInput 
placeholder="Password"
secureTextEntry={true}
onChangeText={(password) => this.setState({ password })}
/>
<Button 
onPress={() => this.onSignUp()}
title="Sign Up"
/>
</View>
)
}
}
export default Register

有人能帮帮我吗

似乎你的firebase应用程序从未初始化,因为还没有构造firebase对象。

当您使用expo时,您可以简单地遵循此指南。

在你的app. js中添加以下内容来初始化你的firebase应用程序(你可以删除firebase .js)

import { initializeApp } from 'firebase/app';
// Initialize Firebase
const firebaseConfig = {
apiKey: "AI*********",
authDomain: "*********",
projectId: "*********",
storageBucket: "*********",
messagingSenderId: "*********",
appId: "*********",
measurementId: "*********"
};
initializeApp(firebaseConfig);
//App
export default function App(){
...
}
<标题>

或我认为你可以在你的App.js中导入Firebase.js,并简单地创建一个新的实例,如


import Firebase from './Firebase'
new Firebase();

//App
export default function App(){
...
}

相关内容

最新更新