UNPKG

next-recaptcha-v3

Version:

🤖 Next.js hook to add Google ReCaptcha to your application

26 lines (23 loc) • 814 B
"use client"; import { useEffect } from 'react'; import { useReCaptcha } from './useReCaptcha.js'; /** React Component to generate ReCaptcha token * @example * <ReCaptcha action='form_submit' onValidate={handleToken} /> */ const ReCaptcha = ({ action, onValidate, validate = true, reCaptchaKey, }) => { const { loaded, executeRecaptcha } = useReCaptcha(reCaptchaKey); useEffect(() => { if (!validate || !loaded) return; if (typeof onValidate !== "function") return; const handleExecuteRecaptcha = async () => { const token = await executeRecaptcha(action); onValidate(token); }; handleExecuteRecaptcha(); }, [action, onValidate, validate, loaded, executeRecaptcha]); return null; }; export { ReCaptcha };