Estoy tratando de usar el activador onAuthStateChanged para cancelar la suscripción, pero sigo recibiendo:
TypeError no capturado: (0, firebase_util__WEBPACK_IMPORTED_MODULE_0 _.getModularInstance)(...). onAuthStateChanged no es una función a continuación es mi Authcontext.js
import React ,{useEffect, useState ,useContext} from 'react'; import { auth } from '../api/firebase'; const AuthContext = React.createContext(); export function useAuth() { return useContext(AuthContext) } export function AuthProvider({ children }) { const [currentUser, setCurrentUser] = useState(null); const [loading,setLoading] = useState(true); function register (email,password) { return auth.createUserWithEmailAndPassword(email,password); } useEffect(() => { const unsubscribe = auth.onAuthStateChanged(user => { setCurrentUser(user); }); return unsubscribe; }, []); const value = { currentUser, register, } return ( <AuthContext.Provider value={value}> {children} </AuthContext.Provider> ); }No te estás suscribiendo al StateChange correctamente, prueba lo siguiente
React.useEffect(() => { const unsubscribe = firebase.auth().onAuthStateChanged((user) => { // detaching the listener if (user) { // ...your code to handle authenticated users. } else { // No user is signed in...code to handle unauthenticated users. } }); return () => unsubscribe(); // unsubscribing from the listener when the component is unmounting. }, []);