Firebase Hooksv0.3.0

useSendEmailVerification

The resend-verification-email button.

Sends, or re-sends, the verification email to the signed-in user.

const { send, isPending, isSuccess } = useSendEmailVerification();

<button onClick={send} disabled={isPending}>
  Resend verification email
</button>;

Returns

send() resolves to { success: true } or a failure result. Also exposes status, isPending, isSuccess, error, and reset.

Notes

Pair with a cooldown to stop rapid re-sends — Firebase rate-limits these, and hitting the limit is a worse experience than a disabled button.

Sending it yourself

sendEmail replaces the browser send, so the request goes through your own API and your own rate limiter:

const { send } = useSendEmailVerification({
  sendEmail: ({ email, actionCodeSettings }) =>
    requestVerification(email, actionCodeSettings),
});

It receives { email, actionCodeSettings } — email is the signed-in user's address, since send() takes no arguments, and actionCodeSettings is whatever the hook or provider resolved, ready for the Admin SDK's generateEmailVerificationLink. An account with no email — phone-only, for instance — fails with a clear result rather than calling your sender with nothing.

Options

Prop

Type

On this page