App-wide support for 100% native navigation with an easy cross-platform interface. For iOS, this package is a wrapper around react-native-controllers, but provides a simplified more abstract API over it. This abstract API will be unified with the Android solution which is currently work in progress. It also fully supports redux if you use it.
We are currently working hard on redesigning and refactoring this project with high quality and robustness in mind. As a result, issues and pull requests will take more time to process.
To avoid any confusion and breaking existing projects, all continuous development is published under the npm tag
next
, with version2.0.0-experimental.x
. Once stable, we will publish it as2.0.0
. This version supports react-native0.31.0
.
The last stable version is
1.30.x
with npm taglatest
. This version supports react-native0.25.1
. It's installation instructions are here.
If you don't want your code to break on a daily basis and don't need the new features ASAP please use the
latest
version or just specify a specific version number.
- Overview
- Why use this package
- Installation - iOS
- Installation - Android
- Usage
- Migrating to version 2.0
- Top Level API
- Screen API
- Styling the navigator
- Adding buttons to the navigator
- Styling the tab bar
- Deep links
- Third party libraries support
- Release Notes
- Milestones
- Contributing
- License
One of the major things missing from React Native core is fully featured native navigation. Navigation includes the entire skeleton of your app with critical components like nav bars, tab bars and side menu drawers.
If you're trying to deliver a user experience that's on par with the best native apps out there, you simply can't compromise on JS-based components trying to fake the real thing.
For example, this package replaces the native NavigatorIOS that has been abandoned in favor of JS-based solutions that are easier to maintain. For more details see in-depth discussion here.
The MIT License.
See LICENSE