Redux integration for React Native Navigation v2+. Keeps all you current navigation state in redux store.
This integration works only with react-native-navigation v2+ and with redux store configured in a project.
npm install --save react-native-navigation-redux-integration
yarn add react-native-navigation-redux-integration
Next, adding initialization for library :
import { Navigation } from 'react-native-navigation';
import { initNavigatorListeners } from 'react-native-navigation-redux-integration';
import { store } from '{your path to store here}';
initNavigatorListeners(Navigation, store);
.
.
.
//register RNN screen and setRoot here
Adding navigation reducer :
import { reducer as navigationReducer } from 'react-native-navigation-redux-integration';
.
.
.
//This is root reducer
export default combineReducers({
.
. // other reducers
.,
navigation: navigationReducer
})
Adding react-native-navigation-redux-integration for navigating with dispatching store actions :
import { navigatorMiddleware } from 'react-native-navigation-redux-integration';
.
.
.
export const store = createStore(reducers, applyMiddleware(navigatorMiddleware));
Actions are dispatch and handled by navigation middleware.
Push new screen on active stack or if tab index defined, push new screen to other tab
Pop screen from active stack
Pop active stack to root
Set root to active stack
Dismiss last active modal
Show modal
Show overlay
This project is licensed under the MIT License - see the LICENSE file for details