Estoy desarrollando una aplicación de chat y quiero agregar un botón para eliminar mensajes. Estoy usando reaccionar y base de fuego y quiero un botón para eliminar documentos de la aplicación web con un botón, pero no tengo ni idea de cómo hacerlo.
Lo intenté:
const { text, uid } = props.message; const messageClass = uid === auth.currentUser.uid ? "sent" : "received"; return ( <> <div className={`message ${messageClass}`}> <p>{text}</p> <button onClick={firestore.collection("messages").doc().delete()}> Delete </button> </div> </> ); } React devuelve: Error: Expected onClick listener to be a function, instead got a value of object type. a mí y no tengo ni idea de qué hacer.
React onClick espera una función que debes escribir:
<button onClick={() => firestore.collection("messages").doc().delete()}>La razón por la que su código falla es porque está evaluando la eliminación en lugar de pasarla para que reaccione para llamar cuando haga clic en el botón.
<button onClick={firestore.collection("messages").doc().delete}>También debería funcionar, observe la falta de paréntesis al eliminar.
Puedes leer más sobre los eventos de reacción aquí