> ## 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="/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseResendReturn">UseResendReturn</a></span>}>
  Ce hook React gère les actions de « renvoi » (par ex. le renvoi d’un code de vérification) sur les écrans ACUL.

  Ce hook :

  * Suit le délai d’attente restant.
  * Indique si le bouton de renvoi doit être désactivé.
  * Fournit une fonction `startResend` pour déclencher un renvoi immédiatement.

  ## Paramètres

  <ParamField body="options" type={<span><a href='/fr-CA/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseResendOptions'>UseResendOptions</a></span>}>
    Configuration facultative, notamment `timeoutSeconds` et `onTimeout`.
  </ParamField>

  ## Valeurs de retour

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

  Un objet contenant :

  * `remaining` — nombre de secondes restantes avant que le prochain renvoi soit autorisé.
  * `disabled` — `true` si le renvoi est actuellement bloqué.
  * `startResend` — fonction à appeler pour lancer un renvoi immédiatement (si autorisé).

  ## Écrans pris en charge

  * `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>
    );
  }
  ```

  ## Remarques

  * Le `ResendControl` sous-jacent n’a pas de méthode de nettoyage explicite; le hook ne nécessite aucun nettoyage manuel.
  * Le hook réinitialise le gestionnaire de renvoi si `timeoutSeconds` ou `onTimeout` changent.
</ParamField>
