A React Native npm package providing native iOS navigation controllers (navbar, tabs, drawer) for a fully native iOS app skeleton.
React Native Controllers is an npm extension package for iOS that enables React Native apps to use truly native navigation components like UINavigationController, UITabBarController, and side menu drawers. It addresses the UX compromises of JavaScript-based navigation alternatives by re-introducing UIViewController into the React Native stack, resulting in smoother animations, improved performance, and a native look and feel.
iOS React Native developers who prioritize native user experience and need to implement complex navigation skeletons like side menus, tab bars, and navigation stacks with authentic iOS behavior.
Developers choose this over JavaScript-based alternatives because it provides authentic iOS navigation components with smoother animations, better performance, and a native look and feel that matches the OS, avoiding the compromises of re-creating these components in JavaScript.
Native IOS Navigation for React Native (navbar, tabs, drawer)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses UINavigationController, UITabBarController, and MMDrawerController for authentic iOS navigation with smoother animations and better performance than JS alternatives, as emphasized in the README.
Allows defining view controller hierarchies using familiar JSX syntax, making it easier for React Native developers to structure app skeletons, though it requires hijacking React.
Supports multiple RCTRootViews running in parallel within different view controllers, sharing a single JS context for flexible app architecture, as described in the implementation details.
Includes native implementations for navigation, tabs, side menus, modals, and lightboxes, providing a full suite of skeleton components with customizable styles.
The project has been deprecated and merged into react-native-navigation, meaning no further updates, support, or bug fixes, forcing users to migrate.
Admits to 'leaking' app state into native components, breaking predictable state containment in JavaScript and hindering tools like Redux time-travel debugging, as outlined in the sacrifices section.
Optimized solely for iOS with no Android support, and requires a low-level API with steps like hijacking React and managing multiple roots, making setup and maintenance cumbersome.