我在React项目中遇到了一个问题,我想在表单末尾包含的Google reCaptcha最初没有出现。如果网页被刷新,它会按预期显示,但如果用户通过网站自然导航到表单,则会丢失该页面,并且无法完成表单。
即使像这样将代码剥离到最低限度,在页面刷新之前,recaptcha也不会出现:
import React, { useRef } from "react"
import ReCAPTCHA from "react-google-recaptcha"
const RecaptchaTest = () => {
const captchaRef = useRef(null)
return (
<div>
<ReCAPTCHA
sitekey={process.env.GATSBY_RECAPTCHA_SITE_KEY}
ref={captchaRef}
/>
</div>
)
}
export default RecaptchaTest
我认为这个问题可能与没有及时生成适当的谷歌cookie有关,但尚未找到适当的解决方案。这会不会和react-google-recaptcha包有关?任何帮助或建议将不胜感激。我的网站是用Gatsby建的。
1条答案
按热度按时间pgvzfuti1#
一个解决方案是你可以尝试onloadCallBack prop,它只会在加载reCAPTCHA后触发