我在我的react-native expo项目中得到了这个错误:Firebase错误:Firebase:名为“[DEFAULT]”的Firebase应用程序已存在(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;
字符串
这是我想使用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>
);
}
型
4条答案
按热度按时间35g0bw711#
我假设你得到的错误,当你做热重装或等.无论如何,问题是,Firebase试图用完全相同的配置创建新的示例,但它不能。所以它会抛出一个错误。你可以通过简单的if检查来克服这个错误:
字符串
mqkwyuun2#
Erkin Kurt是正确的,请记住Firebase 8引入了一些突破性的更改:https://firebase.google.com/support/release-notes/js#version_800_-_october_26_2020
现在你可以这样使用**.default**:
字符串
kse8i1jr3#
只是简单地重建你的应用程序。老实说,会有用的
vbkedwbf4#
我有这个问题,但在Flutter,
该错误不仅可能在多次初始化时发生,而且可能在不同的配置时发生,
我变了
字符串
至
型
我认为这是因为我的google.service.json有不同的配置