Estaba haciendo un login con firebase y me da error, para que quede mas claro este es mi codigo:
const handleLogin = async () => { await db.collection('user').where("email", '==', inputs.email).onSnapshot(sna => { sna.docs.map(current => { console.log(current.id) setNewId(current.id) }) }) await signInWithEmailAndPassword(authentification, inputs.email, inputs.password) .then(({ user }) => dispatch(userLogin({ name: user.displayName, email: user.email, photo: user.photoURL, id: newId // this is not saved }))) .then(() => navigate('/')) .catch(() => setError(true)) console.log('end') }lo que hago con el primer bloque de código es consultar mi base de datos (firebase) para que el usuario pueda guardar su id con setNewId, con el segundo bloque estoy realizando la autenticación del usuario por correo y contraseña y luego redirecciono él a otra página.
Casi todo se guarda correctamente en el kit de herramientas de redux, excepto la identificación. La solicitud a mi base de datos de 'usuario' es exitosa porque en console.log() muestra la identificación del usuario, pero no entiendo por qué la identificación no se guarda en mi contexto (redux-toolkit).
Puede ser un problema con las promesas o con async/await, pero no puedo encontrar una solución.