software-mansion/react-native-screens

Native navigation primitives for your React Native app.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 22 minutes ago
Added to GitGenius on September 18th, 2026
Created on August 3rd, 2018
Open Issues & Pull Requests: 315 (+0)
GitHub issues: Enabled
Number of forks: 714
Total Stargazers: 3,730 (+0)
Total Subscribers: 41 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.8 hours
Mean response time: 6.5 days
90th percentile: 9.9 days
Tracked items: 686

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Practically every issue opened in the past year has drawn a reply. 97% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 46% of tracked open issues have had no activity in three months. 73% of issues opened in the past year have been closed, leaving a working backlog. Three people close 64% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 157
New in 7 days: 7
Closed in 7 days: 7
Avg open age: 497 days
Stale 30+ days: 121
Stale 90+ days: 95

Recent activity

Opened in 7 days: 5
Closed in 7 days: 7
Comments in 7 days: 8
Events in 7 days: 25

Top labels

  • platform:ios (357)
  • repro-provided (354)
  • platform:android (323)
  • missing-repro (307)
  • missing-info (152)
  • close-when-stale (68)
  • type:bug (26)
  • platform:web (14)

Detailed Description

React Native Screens is a native navigation library that exposes platform-specific navigation container components to React Native applications.

The library solves the problem of inefficient navigation in React Native by providing native navigation primitives rather than JavaScript-based solutions. Instead of implementing navigation containers in JavaScript, it leverages the underlying platform's native navigation capabilities on iOS, Android, tvOS, visionOS, Windows, and Web. This approach delivers better performance and more native-feeling navigation experiences. The library is designed as a foundational dependency for full-featured navigation libraries rather than for direct standalone use, with React Navigation being its primary consumer.

Developers should adopt this library if they are building React Native applications that require performant navigation and are willing to use it through an established navigation framework. The tool suits projects targeting multiple platforms, as it provides consistent native navigation primitives across iOS, Android, tvOS, visionOS, Windows, and Web. On Android, developers need to be aware of a specific implementation requirement: the native View state is not persisted consistently across Activity restarts, which can cause crashes. The README recommends overriding the native Android Activity restart method in MainActivity to discard persisted state and prevent these inconsistencies. iOS installation is handled automatically through auto-linking. The library supports custom Kotlin versions on Android, with a minimum requirement of Kotlin 1.3.50. It also provides dedicated support for React Native's Fabric architecture, with separate documentation and example projects available.

The project maintains active support across multiple React Native versions with documented compatibility tables for both the current and previous major versions. Development includes ongoing Fabric architecture support, reflecting alignment with React Native's default rendering system. The codebase is written in TypeScript, providing type safety for consumers and maintainers.