reactjs Recaptcha最初未出现在React Form中

cedebl8k  于 2023-04-29  发布在  React
关注(0)|答案(1)|浏览(101)

我在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建的。

pgvzfuti

pgvzfuti1#

一个解决方案是你可以尝试onloadCallBack prop,它只会在加载reCAPTCHA后触发

ref={captchaRef}
 onloadCallback={() => 
{ console.log("reCAPTCHA loaded successfully") }} />

相关问题