• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

173
Views
Eliminar imagen Doc de firebase firestore

Estoy tratando de eliminar un documento de la colección firebase firestore, ¿cómo puedo hacerlo? Intenté algunas cosas pero no tuve éxito. Aquí está mi código.

aquí está el gancho de Firestore

 const useFirestore = (somecollection) => { const [docs, setDocs] = useState([]); useEffect (() => { // new collection reference const newcoll = collection(projectFirestore, somecollection); const q = query(newcoll, orderBy('createdAt', 'desc')); const unsub = onSnapshot(q, (snapshot) => { let documents = []; snapshot.forEach(doc => { documents.push({...doc.data(), id: doc.id}) }) setDocs(documents); }); return () => unsub; },[somecollection]); return { docs }; }

el imagegrid donde se muestran todas las imágenes (solo regresan los js sin jsx)

 const { docs } = useFirestore('images'); const handleDelete = (e) => { docs.forEach(doc => { deleteDoc(doc); })

ahora, en imagegrid jsx, tengo todas las imágenes cargadas que almacenan el documento en ellas.

así que agregué un botón a cada imagen y quiero que cuando haga clic en el botón se active un handleDelete () que elimine este documento de imagen específico del almacén de incendios

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si está tratando de tener un botón que elimine un solo documento, es probable que NO desee recorrer todos los documentos y llamar a deleteDoc() .

En cambio, su interfaz de usuario probablemente mostraría cada imagen e incluiría su ID para cada botón. Algo como:

 const deleteOneImageDoc = async (docId) => { try { let docRef = doc(myFirestore, `images/${docId}`); await deleteDoc(docRef); } catch (ex) { console.error(`Delete FAILED: ${ex.message}`); throw ex; } }; return <div> docs.map((imgDoc) => { return ( <div key={imgDoc.id}> <img src={imgDoc.url}/> <button onClick={() => deleteOneImageDoc(imgDoc.id)}> delete {imgDoc.id} </button> </div>); }) </div>;
almost 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error