finds.dev← search

// the find

appleboy/react-recaptcha

★ 643 · JavaScript · BSD-3-Clause · updated Jan 2023

A react.js reCAPTCHA for Google

A thin React wrapper around Google's reCAPTCHA v2 widget (checkbox, invisible, and audio/image challenge variants). It's for anyone who needs a form-spam gate on a React app and doesn't want to hand-roll the script-loading and ref plumbing themselves.

Covers all three reCAPTCHA v2 render modes (automatic, explicit, invisible) with a consistent prop API, and exposes imperative reset()/execute() via callback refs rather than string refs. The README has real working examples (plain webpack, Gatsby) instead of just a prop table. At 643 stars/96 forks it's clearly been used in production by a fair number of people, which counts for something with a captcha integration.

Last push was January 2023 and it never added reCAPTCHA v3 or Enterprise support, so it's stuck on the checkbox-era API while Google has pushed everyone toward score-based v3. The onloadCallback/verifyCallback wiring goes through named global functions on window (onloadCallbackName/verifyCallbackName), which is exactly the kind of global-namespace collision bug you'd expect to hit if you mount more than one instance or use it inside a component that unmounts/remounts. No TypeScript definitions ship in the package, and the test suite is a single file in __tests__ — not much confidence the ref-based reset/execute paths are actually exercised. You're also loading the google recaptcha script tag yourself in every example, so there's no real guard against double-injecting it if the component mounts more than once.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →