@almore

Как перезагрузить invisible recaptcha в react spa?

Всем доброго времени суток, у меня есть приложение на реакте, используещее react-router. Я пытюсь внедрить рекапчу на странице авторизации, но сталкиваюсь с проблемой, что виджет не просыпается, если после авторизации я похожу по страничкам, разлогинюсь и вернусь на страницу авторизации. Капча привязана к кнопке.
<Button
    className="g-recaptcha"
    data-sitekey="********************"
    data-callback="invisibleLogin"
/>

Как ее переинициализировать? У обычной можно дернуть grecaptcha.render в componentDidMount. К слову, с обычной капчей все ок, работает как надо, но хочется использовать именно invisible.
  • Вопрос задан
  • 499 просмотров
Решения вопроса 1
@almore Автор вопроса
Сделал так в итоге, вроде работает :)
componentDidMount(){
        window.invisibleLogin = this.invisibleLogin;
        this.loadJS("https://www.google.com/recaptcha/api.js")
    }
loadJS(url){
        const script = document.createElement('script');
        script.src = url;
        script.type = 'text/javascript';
        script.async = true;
        script.defer = true;
        script.onerror = function( error ) { throw error; };
        document.body.appendChild( script );
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы