当我尝试实现身份验证时出现 Firebase.app() 错误
Posted
技术标签:
【中文标题】当我尝试实现身份验证时出现 Firebase.app() 错误【英文标题】:Firebase.app() error when i try to implement auth 【发布时间】:2021-02-06 17:34:09 【问题描述】:我正在尝试将数据库连接到我的 App.js,它可以工作,但是当我尝试进行身份验证时,会出现此错误:
错误:您试图通过调用 firebase.app() 来使用未安装在您的 android 项目上的 firebase 模块。 确保您有:
-
在“MainApplication.java”文件中导入了“io.invertase.firebase.app.ReactNativeFirebaseAppPackage”模块。
在 RN 'getPackages()' 方法列表中添加了 'new ReactNativeFirebaseAppPackage()' 行。
这是我在授权之前的 App.js(工作)
import * as firebase from 'firebase';
import 'firebase/firestore';
if (firebase.apps.length === 0)
firebase.initializeApp(firebaseConfig);
export default class App extends React.Component
render()
return (
<NavigationContainer>
<RestaurantNavigator />
</NavigationContainer>
)
这是我经过身份验证后的 App.js(不工作,见之前的错误)
import * as firebase from 'firebase';
import 'firebase/firestore';
import auth from '@react-native-firebase/auth';
if (firebase.apps.length === 0)
firebase.initializeApp(firebaseConfig);
function LoginApp()
const [initializing, setInitializing] = useState(true);
const [user, setUser] = useState();
function onAuthStateChanged(user)
setUser(user);
if (initializing) setInitializing(false);
useEffect(() =>
const subscriber = auth().onAuthStateChanged(onAuthStateChanged);
return subscriber; // unsubscribe on unmount
, []);
if (initializing) return null;
if (!user)
return (
<View>
<Text>Login</Text>
</View>
);
export default class App extends Component
render()
return (
<View style = styles.container>
<LoginApp />
<NavigationContainer>
<RestaurantNavigator />
</NavigationContainer>
</View>
)
我做错了什么?
【问题讨论】:
嘿@vale,你找到解决这个问题的办法了吗? 【参考方案1】:添加 在主 application.java 文件中 “导入 io.invertase.firebase.auth.RNFirebaseAuthPackage;” 并在包装中 "packages.add(new RNFirebaseAuthPackage());"
并在 android>app>build.gradle 文件中的依赖项中添加 “实现‘com.google.firebase:firebase-auth:19.4.0’”
【讨论】:
但我没有那些目录.. 我正在使用 expo 来运行应用程序 请查看此链接:github.com/invertase/react-native-firebase/issues/977 没用,我没有那些目录 我将这些行添加到其他同名但不同根的文件中,它仍然不起作用 " import "firebase/auth" " 而不是 "import auth from '@react-native-firebase/auth'"以上是关于当我尝试实现身份验证时出现 Firebase.app() 错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 twitter 登录 Quickblox 时出现错误的身份验证数据错误
发送身份验证承载令牌时出现 Cors 策略错误 - node.js(谷歌云功能)
尝试在 Laravel 中设置身份验证时出现“ReflectionException Function () 不存在”