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

# useResend

<ParamField body="useResend(options?)" type={<span><a href="/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UseResendReturn">UseResendReturn</a></span>}>
  Ce hook React gère les actions de « renvoi » (par exemple, renvoyer un code de vérification) sur les écrans ACUL.

  Ce hook :

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

  ## Paramètres

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

  ## Valeur de retour

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

  Un objet avec :

  * `remaining` — nombre de secondes restantes avant que le prochain renvoi soit autorisé.
  * `disabled` — `true` si le renvoi est actuellement bloqué.
  * `startResend` — appel pour lancer immédiatement un renvoi (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 Exemple 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 explicite de destruction; le hook ne nécessite aucun nettoyage manuel.
  * Le hook réinitialise le gestionnaire de renvoi si `timeoutSeconds` ou `onTimeout` changent.
</ParamField>
