我是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(){
...
}
标题>