Solucionar error renderizado reCAPTCHA v2 en React 18
Óscar Vilar
Óscar Vilar
En algunos casos si utilizamos la versión 18 de React js podemos encontrarnos que el reCAPTCHA v2 en algunas ocasión solo se renderiza un div vacío y no se muestra el captcha.
La solución que he encontrado a este error es cargar el script del captcha cuando la página se renderiza por la primera vez
Ejemplo:
1
2
3
4
5
6
7
8
9
10
11
useEffect(() => {
loadReCaptchaScript();
}, []);
const loadReCaptchaScript = () => {
const script = document.createElement("script");
script.src = "https://www.google.com/recaptcha/api.js";
script.async = true;
script.defer = true;
document.body.appendChild(script);
};