From d3b8b424778cfe2b0daa5df57b8cb4bab0ba0349 Mon Sep 17 00:00:00 2001 From: Ashoat Tevosyan Date: Fri, 15 Jun 2018 02:15:11 +0800 Subject: [PATCH] [ReduxExample] Update to use react-navigation-redux-helpers@2.0.0 (#4504) --- .../examples/ReduxExample/App.js | 10 ++--- .../assets/icons/react-navigation.png | Bin 13260 -> 20487 bytes .../examples/ReduxExample/package.json | 2 +- .../src/navigators/AppNavigator.js | 41 +++++++----------- .../ReduxExample/src/reducers/index.js | 16 +++---- .../examples/ReduxExample/src/utils/redux.js | 12 ----- .../examples/ReduxExample/yarn.lock | 6 +-- 7 files changed, 30 insertions(+), 57 deletions(-) delete mode 100644 packages/react-navigation/examples/ReduxExample/src/utils/redux.js diff --git a/packages/react-navigation/examples/ReduxExample/App.js b/packages/react-navigation/examples/ReduxExample/App.js index aa381200..647c8686 100644 --- a/packages/react-navigation/examples/ReduxExample/App.js +++ b/packages/react-navigation/examples/ReduxExample/App.js @@ -4,19 +4,15 @@ import { Provider } from 'react-redux'; import { createStore, applyMiddleware } from 'redux'; import AppReducer from './src/reducers'; -import AppWithNavigationState from './src/navigators/AppNavigator'; -import { middleware } from './src/utils/redux'; +import { AppNavigator, middleware } from './src/navigators/AppNavigator'; -const store = createStore( - AppReducer, - applyMiddleware(middleware), -); +const store = createStore(AppReducer, applyMiddleware(middleware)); class ReduxExampleApp extends React.Component { render() { return ( - + ); } diff --git a/packages/react-navigation/examples/ReduxExample/assets/icons/react-navigation.png b/packages/react-navigation/examples/ReduxExample/assets/icons/react-navigation.png index 9f56a23138b57146772b5568e5b952b6452c5687..f40ff6b5f3318acbd3d59d24437bd2f2b7750046 100644 GIT binary patch literal 20487 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 literal 13260 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 diff --git a/packages/react-navigation/examples/ReduxExample/package.json b/packages/react-navigation/examples/ReduxExample/package.json index 7afa6115..c9ac3233 100644 --- a/packages/react-navigation/examples/ReduxExample/package.json +++ b/packages/react-navigation/examples/ReduxExample/package.json @@ -26,7 +26,7 @@ "react": "16.3.1", "react-native": "^0.55.0", "react-navigation": "link:../..", - "react-navigation-redux-helpers": "^1.0.0", + "react-navigation-redux-helpers": "^2.0.0-beta.1", "react-redux": "^5.0.6", "redux": "^3.7.2" }, diff --git a/packages/react-navigation/examples/ReduxExample/src/navigators/AppNavigator.js b/packages/react-navigation/examples/ReduxExample/src/navigators/AppNavigator.js index ceacbd3b..7b68a86f 100644 --- a/packages/react-navigation/examples/ReduxExample/src/navigators/AppNavigator.js +++ b/packages/react-navigation/examples/ReduxExample/src/navigators/AppNavigator.js @@ -2,43 +2,32 @@ import React from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { createStackNavigator } from 'react-navigation'; -import { initializeListeners } from 'react-navigation-redux-helpers'; +import { + reduxifyNavigator, + createReactNavigationReduxMiddleware, +} from 'react-navigation-redux-helpers'; import LoginScreen from '../components/LoginScreen'; import MainScreen from '../components/MainScreen'; import ProfileScreen from '../components/ProfileScreen'; -import { navigationPropConstructor } from '../utils/redux'; -export const AppNavigator = createStackNavigator({ +const middleware = createReactNavigationReduxMiddleware( + 'root', + state => state.nav +); + +const RootNavigator = createStackNavigator({ Login: { screen: LoginScreen }, Main: { screen: MainScreen }, Profile: { screen: ProfileScreen }, }); -class AppWithNavigationState extends React.Component { - static propTypes = { - dispatch: PropTypes.func.isRequired, - nav: PropTypes.object.isRequired, - }; - - componentDidMount() { - initializeListeners('root', this.props.nav); - } - - render() { - const { dispatch, nav } = this.props; - this._navigation = navigationPropConstructor( - dispatch, - nav, - AppNavigator.router, - () => this._navigation - ); - return ; - } -} +const AppWithNavigationState = reduxifyNavigator(RootNavigator, 'root'); const mapStateToProps = state => ({ - nav: state.nav, + state: state.nav, }); -export default connect(mapStateToProps)(AppWithNavigationState); +const AppNavigator = connect(mapStateToProps)(AppWithNavigationState); + +export { RootNavigator, AppNavigator, middleware }; diff --git a/packages/react-navigation/examples/ReduxExample/src/reducers/index.js b/packages/react-navigation/examples/ReduxExample/src/reducers/index.js index 1ece9bcd..3593b7d3 100644 --- a/packages/react-navigation/examples/ReduxExample/src/reducers/index.js +++ b/packages/react-navigation/examples/ReduxExample/src/reducers/index.js @@ -1,13 +1,13 @@ import { combineReducers } from 'redux'; import { NavigationActions } from 'react-navigation'; -import { AppNavigator } from '../navigators/AppNavigator'; +import { RootNavigator } from '../navigators/AppNavigator'; // Start with two routes: The Main screen, with the Login screen on top. -const firstAction = AppNavigator.router.getActionForPathAndParams('Main'); -const tempNavState = AppNavigator.router.getStateForAction(firstAction); -const secondAction = AppNavigator.router.getActionForPathAndParams('Login'); -const initialNavState = AppNavigator.router.getStateForAction( +const firstAction = RootNavigator.router.getActionForPathAndParams('Main'); +const tempNavState = RootNavigator.router.getStateForAction(firstAction); +const secondAction = RootNavigator.router.getActionForPathAndParams('Login'); +const initialNavState = RootNavigator.router.getStateForAction( secondAction, tempNavState ); @@ -16,19 +16,19 @@ function nav(state = initialNavState, action) { let nextState; switch (action.type) { case 'Login': - nextState = AppNavigator.router.getStateForAction( + nextState = RootNavigator.router.getStateForAction( NavigationActions.back(), state ); break; case 'Logout': - nextState = AppNavigator.router.getStateForAction( + nextState = RootNavigator.router.getStateForAction( NavigationActions.navigate({ routeName: 'Login' }), state ); break; default: - nextState = AppNavigator.router.getStateForAction(action, state); + nextState = RootNavigator.router.getStateForAction(action, state); break; } diff --git a/packages/react-navigation/examples/ReduxExample/src/utils/redux.js b/packages/react-navigation/examples/ReduxExample/src/utils/redux.js deleted file mode 100644 index 23d4ad26..00000000 --- a/packages/react-navigation/examples/ReduxExample/src/utils/redux.js +++ /dev/null @@ -1,12 +0,0 @@ -import { - createReactNavigationReduxMiddleware, - createNavigationPropConstructor, -} from 'react-navigation-redux-helpers'; - -const middleware = createReactNavigationReduxMiddleware( - 'root', - state => state.nav -); -const navigationPropConstructor = createNavigationPropConstructor('root'); - -export { middleware, navigationPropConstructor }; diff --git a/packages/react-navigation/examples/ReduxExample/yarn.lock b/packages/react-navigation/examples/ReduxExample/yarn.lock index 1652a94d..84c46b2e 100644 --- a/packages/react-navigation/examples/ReduxExample/yarn.lock +++ b/packages/react-navigation/examples/ReduxExample/yarn.lock @@ -5728,9 +5728,9 @@ react-navigation-drawer@0.3.0: dependencies: react-native-drawer-layout-polyfill "^1.3.2" -react-navigation-redux-helpers@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/react-navigation-redux-helpers/-/react-navigation-redux-helpers-1.1.2.tgz#13013230ac74aa125a5505eefc005db3801f9e07" +react-navigation-redux-helpers@^2.0.0-beta.1: + version "2.0.0-beta.1" + resolved "https://registry.yarnpkg.com/react-navigation-redux-helpers/-/react-navigation-redux-helpers-2.0.0-beta.1.tgz#7fcbce69418fe9084f2096c7ff4c9f93965126d3" dependencies: invariant "^2.2.2"