// 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 →