Estoy tratando de crear una aplicación con firebase, pero cuando hago clic en iniciar sesión, hace todo excepto configurar los elementos de almacenamiento local. Intenté esperar y todo lo demás que se me ocurrió
signInWithEmailAndPassword(auth, email, password) .then(async (userCredential) => { const user = userCredential.user; localStorage.setItem("access_token", user.stsTokenManager.accessToken); localStorage.setItem("uid", user.uid); const devices = collection(db, "users", user.uid, "devices"); const devicesSnap = await getDocs(devices); if(devicesSnap.docs.length >= 1) { localStorage.setItem("first_charger", devicesSnap.docs[0].id); localStorage.setItem("first_charger_name", devicesSnap.docs[0].data().deviceName + "/" + devicesSnap.docs[0].id); const formattedChargers = formatChargers(devicesSnap.docs); setChargers(formattedChargers); } else { setChargers([]); } const cars = collection(db, "users", localStorage.getItem("uid"), "vehicles"); const carsSnap = await getDocs(cars); if(carsSnap.docs.length >= 1) { const formattedCars = formatCars(carsSnap.docs); setCars(formattedCars); } else { setCars([]); } setLoading(false); setLoggedIn(true); }) .catch((error) => { console.log(error); });Terminé agregando una declaración if que verifica si existe y, si no, intenta volver a agregarla
if(!localStorage.getItem("first_charger_name")) { localStorage.setItem("first_charger_name", devicesSnap.docs[0].data().deviceName + "/" + devicesSnap.docs[0].id); }