Recibí un error "_config.firebase.auth no es una función. (En '_config.firebase.auth()', '_config.firebase.auth' no está definido)
Este error aparece al enviar un formulario de registro.
Ejecuto Firebase versión 9.6.5
¿Alguien puede detectar dónde me equivoqué en mis archivos config.js y RegScreen.js?
import firebase from 'firebase/compat/app'; import '@firebase/auth'; import '@firebase/firestore'; const firebaseConfig = { apiKey: '', authDomain: 'to-do-weather.firebaseapp.com', databaseURL: 'https://DATABASE_NAME.firebaseio.com', projectId: 'to-do-weather', storageBucket: 'to-do-weather.appspot.com', messagingSenderId: '', appId: '', }; let app; if (firebase.apps.length === 0) { app = firebase.initializeApp(firebaseConfig) } else { app = firebase.app(); } export { firebase }; const onRegPress = () => { if (password !== confirmPassword) { alert("Passwords don't match.") return } firebase .auth() .createUserWithEmailAndPassword(email, password) .then((response) => { const uid = response.user.uid const data = { id: uid, email, fullName, }; const usersRef = firebase.firestore().collection('users') usersRef .doc(uid) .set(data) .then(() => { navigation.navigate('Home', {user: data}) }) .catch((error) => { alert(error) }); }) .catch((error) => { alert(error) }); }Si está tratando de usar la sintaxis de namespaced de nombres, también debe importar versiones compat de todos los servicios de Firebase. Intenta cambiar tus importaciones a:
import firebase from 'firebase/compat/app'; import 'firebase/compat/auth'; import 'firebase/compat/firestore'; // add /compat ^La versión compatible se eliminaría eventualmente, por lo que recomendaría actualizar su código y seguir la nueva sintaxis como se menciona en la documentación .