1

I just started learning React Native and while watching a video on youtube, I encountered an error that I did not understand. I think my error is caused by the firebase.js file.`

firebase.js

import * as firebase from "firebase" import "firebase/firestore" import "firebase/auth" const firebaseConfig = { apiKey: "", authDomain: "", projectId: "", storageBucket: "", messagingSenderId: "", appId: "" }; let app if (firebase.apps.length === 0){ const firebaseApp = firebase.initializeApp(firebaseConfig) } else { app = firebase.app() } const db = app.firestore() const auth = firebase.auth() export { db, auth } 

error

TypeError: undefined is not an object (evaluating 'app.firestore') at node_modules\react-native\Libraries\LogBox\LogBox.js:148:8 in registerError at node_modules\react-native\Libraries\LogBox\LogBox.js:59:8 in errorImpl at node_modules\react-native\Libraries\LogBox\LogBox.js:33:4 in console.error at node_modules\expo\build\environment\react-native-logs.fx.js:27:4 in error at node_modules\react-native\Libraries\Core\ExceptionsManager.js:104:6 in reportException at node_modules\react-native\Libraries\Core\ExceptionsManager.js:171:19 in handleException at node_modules\react-native\Libraries\Core\setUpErrorHandling.js:24:6 in handleError at node_modules\expo-error-recovery\build\ErrorRecovery.fx.js:9:32 in ErrorUtils.setGlobalHandler$argument_0 at node_modules\regenerator-runtime\runtime.js:63:36 in tryCatch at node_modules\regenerator-runtime\runtime.js:293:29 in invoke at node_modules\regenerator-runtime\runtime.js:63:36 in tryCatch at node_modules\regenerator-runtime\runtime.js:154:27 in invoke at node_modules\regenerator-runtime\runtime.js:164:18 in PromiseImpl.resolve.then$argument_0 at node_modules\react-native\node_modules\promise\setimmediate\core.js:37:13 in tryCallOne at node_modules\react-native\node_modules\promise\setimmediate\core.js:123:24 in setImmediate$argument_0 at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:130:14 in _callTimer at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:181:14 in _callImmediatesPass at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:441:30 in callImmediates at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:387:6 in __callImmediates at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:135:6 in __guard$argument_0 at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:364:10 in __guard at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:134:4 in flushedQueue at [native code]:null in flushedQueue at [native code]:null in invokeCallbackAndReturnFlushedQueue 

video = https://www.youtube.com/watch?v=MJzmZ9qmdaE&t=7s video time is 1:10:39

2
  • 1
    I think const firebaseApp = firebase.initializeApp(firebaseConfig) should be app = firebase.initializeApp(firebaseConfig). Commented Mar 31, 2021 at 1:57
  • @FrankvanPuffelen thank you, its work Commented Mar 31, 2021 at 11:14

1 Answer 1

7

Try this in your config

import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore'; const firebaseConfig = { apiKey: "AIzxxxxxxxxxxxxxxxxxxxBbBFNGMI", authDomain: "sixxxxxxxxxcc8.firebaseapp.com", projectId: "sxxxxxxxxxxx8", storageBucket: "xxxxxxxxxxxxxcc8.appspot.com", messagingSenderId: "6xxxxxxxxxx", appId: "1:65xxxxxxxx13:web:d0exxxxxxxxxxxxxxxxx7c" }; let app; if (firebase.apps.length === 0) { app = firebase.initializeApp(firebaseConfig) } else { app = firebase.app(); } const db = app.firestore(); const auth = firebase.auth(); export { db, auth }; 
Sign up to request clarification or add additional context in comments.

1 Comment

3 days of debugging an ionic app brought me here and that solved it for me. Upvoting and commenting so hopefully somebody else gets help as well. Tags: ionic, capacitor, ios, cors, undefined is not an object when gapi.client.init()

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.