next.js reCAPTCHA回调不适用于Firebase电话身份验证

6uxekuva  于 2023-04-11  发布在  其他
关注(0)|答案(1)|浏览(140)

我正在尝试在我的NextJS网站中实现电话认证,并且我在useEffect中添加了reCAPTCHA代码,但是当单击具有该ID的按钮时,它不会被触发。也没有错误。下面是reCAPTCHA代码:

window.recaptchaVerifier = new RecaptchaVerifier('btnPersonalInfoSubmit', {
                    'size': 'invisible',
                    'callback': (response) => {
                        console.log(response);
                      handlePersonalInfoUpdate();
                    },
                    'expired-callback': () => {
                        console.log('expired');
                    },
                    'error-callback': (error) => {
                        console.log(error);
                    }
                }, auth);

没有输出。为什么?

6tqwzwtp

6tqwzwtp1#

我想明白了
我不得不在最后添加window.recaptchaVerifier.render()。最终代码:

if (!window.recaptchaVerifier) {
                    window.recaptchaVerifier = new RecaptchaVerifier('btnPersonalInfoSubmit', {
                        'size': 'invisible',
                        'callback': (response) => {
                            handlePersonalInfoUpdate();
                        },
                        'expired-callback': () => {
                            console.log('expired');
                        },
                        'error-callback': (error) => {
                            console.log(error);
                        }
                    }, auth);
                    window.recaptchaVerifier.render()
                }

相关问题