Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

860
Views
¿La forma correcta de eliminar un usuario con react-native-firebase de Auth y Firestore a la vez?

Estoy tratando de eliminar a un usuario de Auth y Firestore al hacer clic en el botón de una sola vez usando react-native-firebase. Mi problema en este momento es que no está eliminando el documento 'usuario' de Firestore. PERO, parece que estoy eliminando al usuario de Auth.

Además, cuando presiono el botón que llama a deleteUserFunc, recibo el error:

"null no es un objeto (evaluando '(0, _auth.default)().currentUser.uid')"

(UID tiene una identificación válida en la carga de la página)

 const [_, setUser] = useContext(UserContext); const uid = auth().currentUser.uid; const deleteUserFunc = async () => { await deleteAccount(); } async function deleteAccount() { auth().currentUser.delete().then(() => { db.collection('users') .doc(user.uid) .delete() }).catch((error) => { console.log(error, "error") }).finally(() => setUser((state) => ({ ...state, isLoggedIn: false }))) }

¿Cómo puedo eliminar de Firestore para este usuario, así como mejorar el código que he escrito?

Cualquier ayuda es apreciada - ¡gracias por su tiempo!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Supongo que configuraste tu variable de user para que apunte a auth.currentUser , que se vuelve null cuando eliminas al usuario actual. Por lo tanto, deberá invertir las operaciones (primero eliminar el documento, luego el usuario), o puede capturar el UID en una variable local antes de eliminar el usuario.

Este último se vería así:

 async function deleteAccount() { const uid = auth().currentUser.uid; // 👈 auth().currentUser.delete().then(() => { db.collection('users') .doc(uid) // 👈 .delete() }).catch((error) => { console.log(error, "error") }).finally(() => setUser((state) => ({ ...state, isLoggedIn: false }))) }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!