finds.dev

software-mansion/react-native-gesture-handler

Declarative API exposing platform native touch and gesture system to React Native.

View on GitHubHomepage ↗

★ 6,793TypeScriptMITupdated Oct 2026

// the take

react-native-gesture-handler is Software Mansion's native gesture system for React Native, replacing the JS responder system with UI-thread-driven gesture recognition. It's the library most RN apps end up depending on transitively (via react-navigation, bottom sheets, swipeables) even if you never import it directly.

Gestures are tracked natively on the UI thread instead of bouncing through the JS bridge, which is the actual fix for the laggy/dropped-touch problems that plagued older RN apps. The CI setup is unusually thorough for a UI library — separate Android/iOS/macOS build and e2e workflows, Kotlin lint, an API compatibility check against the native side, plus visual-regression flows with baseline screenshots for gesture interactions. Backed by a team that's also core RN contributors, so native API churn tends to get picked up fast rather than lagging behind.

Being a native module means you're tracking two moving compatibility tables (GH2 vs the new GH3, each pinned to specific RN minor versions) — upgrading RN or this library in isolation can break the other. GH3 requires RN 0.82+, so anything on an older RN is locked to the GH2 line and its own separate version matrix. Debugging gesture conflicts (nested recognizers, interop with the legacy responder system in older code) happens on the native thread, which makes it harder to reason about than a pure-JS bug. It also leans on Reanimated/worklets for the more advanced gesture compositions, and there's a yarn patch for react-native-worklets in the repo itself — a sign that keeping that dependency pair in sync isn't always clean.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

search the same ground:

// at a glance

Stars
6,793
Forks
1,087
Language
TypeScript
License
MIT
Last commit
22 Oct 2026

// nearby

If react-native-gesture-handler isn't quite it.

All repos →