【发布时间】: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,你找到解决这个问题的办法了吗?
标签: node.js firebase react-native firebase-authentication