> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# useResend

<ParamField body="useResend(options?)" type={<span><a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseResendReturn">UseResendReturn</a></span>}>
  Este hook de React gestiona las acciones de reenvío (por ejemplo, reenviar un código de verificación) en las pantallas de ACUL.

  Este hook:

  * Realiza un seguimiento del tiempo de espera restante.
  * Indica si el botón de reenvío debe estar deshabilitado.
  * Proporciona una función `startResend` para activar un reenvío de inmediato.

  ## Parámetros

  <ParamField body="options" type={<span><a href='/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseResendOptions'>UseResendOptions</a></span>}>
    Configuración opcional, como `timeoutSeconds` y `onTimeout`.
  </ParamField>

  ## Devuelve

  [`UseResendReturn`](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseResendReturn)

  Un objeto con:

  * `remaining` — segundos restantes hasta que se permita el siguiente reenvío.
  * `disabled` — `true` si el reenvío está bloqueado en ese momento.
  * `startResend` — llamada para iniciar un reenvío de inmediato (si está permitido).

  ## Pantallas compatibles

  * `email-identifier-challenge`
  * `email-otp-challenge`
  * `login-email-verification`
  * `login-passwordless-email-code`
  * `login-passwordless-sms-otp`
  * `mfa-email-challenge`
  * `mfa-sms-challenge`
  * `mfa-voice-challenge`
  * `phone-identifier-challenge`
  * `reset-password-mfa-email-challenge`
  * `reset-password-mfa-sms-challenge`
  * `reset-password-mfa-voice-challenge`

  ```tsx Example theme={null}
  import { useResend } from '@auth0/auth0-acul-react/mfa-sms-challenge';

  export function ResendButton() {
    const { remaining, disabled, startResend } = useResend({
      timeoutSeconds: 30,
      onTimeout: () => console.log('You can resend again'),
    });

    return (
      <button onClick={startResend} disabled={disabled}>
        {disabled ? `Resend in ${remaining}s` : 'Resend Code'}
      </button>
    );
  }
  ```

  ## Observaciones

  * El `ResendControl` subyacente no tiene un método de limpieza explícito; el hook no requiere limpieza manual.
  * El hook reinicializa el administrador de reenvío si `timeoutSeconds` o `onTimeout` cambian.
</ParamField>
