BHA*_*ORA 3 android firebase react-native firebase-authentication
我在我的 react-native expo 项目中收到此错误:FirebaseError: Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app)。我已经交叉检查了我的项目,并且我没有在项目的其他任何地方导入 firebase。我还制作了一个 firebase.js 文件并在那里初始化了 firebase 配置。这是我的代码:
这是我的 firebase.js 文件
import firebase from "firebase";
const firebaseConfig = {
apiKey: "XXXXXXXXXXXX",
authDomain: "XXXXXXXXXXXX",
databaseURL: "XXXXXXXXXXXX",
projectId: "XXXXXXXXXXXX",
storageBucket: "XXXXXXXXXXXX",
messagingSenderId: "XXXXXXXXXXXX",
appId: "XXXXXXXXXXXX",
};
const Firebase = firebase.initializeApp(firebaseConfig);
export default Firebase;
Run Code Online (Sandbox Code Playgroud)
这是我想在其中使用 firebase 的 Signin.js 文件。
import { StatusBar } from "expo-status-bar";
import React, { useState } from "react";
import {
StyleSheet,
Text,
View,
TextInput,
TouchableOpacity,
Picker,
ScrollView,
} from "react-native";
import { FontAwesome } from "@expo/vector-icons";
import { LinearGradient } from "expo-linear-gradient";
import firebase from "./firebase";
import "firebase/auth";
function Signin() {
firebase
.auth()
.signInWithEmailAndPassword("bhavansharora21@gmail.com", "bhavansh")
.catch(function (error) {});
}
export default function LogIn({ navigation }) {
const [selectedValue, setSelectedValue] = useState("java");
return (
<View style={styles.container}>
<View style={styles.header}>
<Text style={styles.header_text}>Register</Text>
</View>
<View style={styles.footer}>
<ScrollView
showsVerticalScrollIndicator={false}
style={styles.ScrollView}
show
>
<Text style={styles.fields}>Name</Text>
<TextInput
placeholder="Enter your Name"
style={styles.input}
></TextInput>
<Text style={styles.fields}>Email</Text>
<TextInput placeholder="Enter Email" style={styles.input}></TextInput>
<Text style={styles.fields}>Password</Text>
<TextInput placeholder="Enter Password" style={styles.input} />
<Text style={styles.fields}>Confirm Password</Text>
<TextInput
placeholder="Enter Confirm Password"
style={styles.input}
/>
<View style={styles.picker}>
<TouchableOpacity style={styles.position}>
<LinearGradient
colors={["#08d4c4", "#01ab9d"]}
style={styles.picker_gradient}
>
<Text style={styles.button_text}>Passenger</Text>
</LinearGradient>
</TouchableOpacity>
<TouchableOpacity
style={styles.position}
onPress={() => navigation.navigate("SignIn")}
>
<Text style={styles.sign_button_text}>Rider</Text>
</TouchableOpacity>
</View>
<TouchableOpacity style={styles.button} onPress={() => Signin()}>
<LinearGradient
colors={["#08d4c4", "#01ab9d"]}
style={styles.gradient_style}
>
<Text style={styles.button_text}>Register</Text>
</LinearGradient>
</TouchableOpacity>
<TouchableOpacity
style={styles.sign_button}
onPress={() => navigation.navigate("LogIn")}
>
<Text style={styles.sign_button_text}>Log In</Text>
</TouchableOpacity>
</ScrollView>
</View>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
我假设您在执行热重载等操作时遇到错误...无论如何问题是,Firebase 尝试使用完全相同的配置创建新实例,而它不能。所以它会抛出一个错误。您可以通过简单的 if 检查来克服此错误:
if (firebase.apps.length === 0) {
firebase.initializeApp(firebaseConfig);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3093 次 |
| 最近记录: |