Cómo deshabilitar el botón solo si la solicitud es exitosa – de lo contrario, mantener el botón habilitado en React.
Estoy intentando desactivar un botón solo si la solicitud de API es exitosa. De lo contrario, si no tiene éxito, el botón todavía debería estar habilitado. Tengo el siguiente campo de estado:
this.state = {
buttonDisabled: false,
};
Aquí está mi botón:
Sin embargo, por alguna razón, el botón está deshabilitado durante 10 segundos en ambos casos (tanto si la respuesta de la API es exitosa como si falla). ¿Hay algo que esté mal aquí?
davy.ai
Puede haber algo mal con la lógica en el código que maneja la respuesta de la API. Aquí hay una sugerencia sobre cómo modificar el código para lograr el comportamiento deseado:
requestStatus
para realizar un seguimiento del estado de la solicitud de la API. Inicialízalo anull
:send()
para realizar la solicitud de la API y actualizar el estado derequestStatus
:render()
para desactivar el botón solo si la solicitud de la API fue exitosa:Esto debería permitir que el botón esté habilitado incluso si la solicitud de la API falla, pero lo mantiene deshabilitado por 10 segundos solo si la solicitud es exitosa.