Invisible reCAPTCHAをReactとReduxフォームで実装しようとしています。一般的に、Invisible reCAPTCHAのワークフローは次のとおりです。ReduxフォームでInvisible reCAPTCHAを実装する
- 「見えない」CAPTCHAをレンダリングし、そのウィジェットIDを返します。
- ウィジェットのIDを使用して
grecaptcha.execute
を呼び出します。必要に応じて、ユーザーはチャレンジを解決するよう求められます。結果は、CAPTCHAがレンダリングされたときに指定されたコールバック関数に渡されます。 - CAPTCHAの結果とともにフォームを送信してください。
class ReCaptcha extends React.Component { render() { return <div ref={div => this.container=div} /> } componentDidMount() { const { input: { onChange }, sitekey } = this.props grecaptcha.render(this.container, { sitekey, size: "invisible", callback: onChange }) } }
しかし、私は方法がわからない:私はCAPTCHAをレンダリングし
grecaptcha.execute
後、フォームの状態を更新ReduxのフォームのField
で使用されることを意図リアクトコンポーネントが呼ばれる作成した
ユーザがフォームを提出する際にウィジェットIDと共にgrecaptcha.execute
に電話をかける場所。ウィジェットIDにアクセスできないので、onSubmit
で呼び出すことはできません。私はCAPTCHAをレンダリングした直後にReCaptcha
で呼び出すことができますが、ユーザーがCAPTCHAを解決する必要がある場合は、フォームがレンダリングされるとすぐにCAPTCHAを解決するよう指示されます。
このminimal working exampleはこれまでに達成したことを示しています。
を私はそれが[scriptjs](https://github.com/ded/script.js)ライブラリとはるかに簡単だということを考え出しました。あなたが望むなら、私は例を渡すでしょう。 –