Obtuve algo extraño cuando estoy enviando un formulario. Cuando estoy usando ev.preventDefault() tal como está, todo funciona como se esperaba, pero cuando agrego el envío a la función dos líneas más tarde, aparece el error: ev.preventDefault no es una función. aquí está mi código gracias de antemano!
const addReview = async ev => { ev.preventDefault() if (!email || !message) return alert('All fields are required') await dispatch(addReview({email,message})) console.log('Adding review!'); } <form onSubmit={addReview}> <input value={email} placeholder="Email" type="email" id="email" name="email" onChange={handleChange}/> <textarea name="message" placeholder="Message" rows="4" cols="50" onChange={handleChange} value={message} ></textarea> <button>Submit</button> </form>Resuelto: El problema fue causado por usar el mismo nombre para la función en ese componente y en la página de acciones, gracias a todos.
¿Por qué está llamando a la función addReview desde dentro de sí misma con el envío?
const addReview = async ev => { ev.preventDefault() if (!email || !message) return alert('All fields are required') await dispatch(?????({email,message})) // This line should be changed console.log('Adding review!'); }