Quiero establecer el estado pendiente en mi botón usando useState al enviar formularios, pero no sé dónde estoy cometiendo un error:
aquí está mi código:
const [is_pending, setIs_pending] = useState(false); const SubmitContact = async (e)=>{ e.preventDefault() setIs_pending = true; let url = "http://localhost:8000/my-api/" const res = await axios.post(url,{ contact_name:contact_name,contact_email:contact_email,contact_body:contact_body }).then((res)=>{ console.log(res) setIs_pending = false; }); <form onSubmit={SubmitContact}> ...my others html code { !is_pending && <button className='btn btn-primary'>Send Message</button> } { is_pending && <button type='submit' className='btn btn-primary' disabled>Sending Message....</button> } </form> Establecí { is_pending && <button type='submit' className='btn btn-primary' disabled>Sending Message....</button> } cuando los formularios serán procesados, pero no sé por qué este estado no se muestra cuando presentación de formularios.
setIs_pending es una función y no puede establecer un valor usando = !
Para establecer el valor correctamente, debe pasar el valor como parámetro de setIs_pending , como:
YOUR_CODE.... setIs_pending(true); YOUR_CODE....Puede leer más aquí: https://pt-br.reactjs.org/docs/hooks-intro.html