【问题标题】:How to export value to another const如何将值导出到另一个常量
【发布时间】:2022-01-22 11:24:41
【问题描述】:

我正在使用 react-google-recaptcha 生成不可见的 ReCaptcha,我需要在另一个 const 中使用令牌。

令牌正在正确生成,但我不知道如何将其传递到另一个位置。我该怎么做?

   const onTextSubmit = async () => {
        let recaptchaToken;
        if (recaptchaLoaded) {
          recaptchaToken = await recaptcha.current.execute();
        }
        
        // How to export recaptchaToken?
      };

我需要获取 recaptchaToken 并在这里使用它:

  const onSubmit: SubmitHandler<FormInput> = (data) => {
    formCreateMutation.mutate({
      data,
      recaptchaToken,
    });
  };

这两个 const 在同一个文件中,我正在使用 react 来做到这一点。

谢谢!!

【问题讨论】:

  • 你在使用框架(比如 react)吗? onTextSubsmit 和 onSubmit 是否在同一个文件中?
  • @Poku 是的!我用这些信息编辑了我的问题
  • 你想在onTextSubmit里面调用onSubmit吗?还是等待按钮按下或其他后续操作?

标签: javascript reactjs typescript


【解决方案1】:

您并未发布组件中的所有代码,但您可以将 recaptchaToken 值存储在反应状态中,如下所示:

export default function App() {
  const [recaptchaToken, setRecaptchaToken] = useState(undefined);

  const onTextSubmit = async () => {
    if (recaptchaLoaded) {
      const value = await recaptcha.current.execute();
      setRecaptchaToken(value);
    }
    
    // How to export recaptchaToken?
  };

  const onSubmit: SubmitHandler<FormInput> = (data) => {
    if (recaptchaToken) {
      formCreateMutation.mutate({
        data,
        recaptchaToken,
      });
    }
  };

  return (
    <div className="App">
      <h1>{recaptchaToken}</h1>
    </div>
  );
}

【讨论】:

    猜你喜欢
    • 2023-02-21
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    相关资源
    最近更新 更多