diff --git a/packages/react-navigation/src/getChildNavigation.js b/packages/react-navigation/src/getChildNavigation.js index c836e641..6f4afd9e 100644 --- a/packages/react-navigation/src/getChildNavigation.js +++ b/packages/react-navigation/src/getChildNavigation.js @@ -1,5 +1,6 @@ import getChildEventSubscriber from './getChildEventSubscriber'; import getChildRouter from './getChildRouter'; +import getNavigationActionCreators from './routers/getNavigationActionCreators'; import invariant from './utils/invariant'; const createParamGetter = route => (paramName, defaultValue) => { @@ -40,7 +41,9 @@ function getChildNavigation(navigation, childKey, getCurrentParentNavigation) { ...(childRouter ? childRouter.getActionCreators(focusedGrandChildRoute, childRoute.key) : {}), + ...getNavigationActionCreators(childRoute), }; + const actionHelpers = {}; Object.keys(actionCreators).forEach(actionName => { actionHelpers[actionName] = (...args) => { diff --git a/packages/react-navigation/src/routers/StackRouter.js b/packages/react-navigation/src/routers/StackRouter.js index 16fcd6d3..0c47221f 100644 --- a/packages/react-navigation/src/routers/StackRouter.js +++ b/packages/react-navigation/src/routers/StackRouter.js @@ -8,7 +8,6 @@ import StateUtils from '../StateUtils'; import validateRouteConfigMap from './validateRouteConfigMap'; import invariant from '../utils/invariant'; import { generateKey } from './KeyGenerator'; -import getNavigationActionCreators from './getNavigationActionCreators'; function isEmpty(obj) { if (!obj) return true; @@ -166,7 +165,6 @@ export default (routeConfigs, stackConfig = {}) => { getActionCreators(route, navStateKey) { return { - ...getNavigationActionCreators(route), ...getCustomActionCreators(route, navStateKey), pop: (n, params) => StackActions.pop({ diff --git a/packages/react-navigation/src/routers/SwitchRouter.js b/packages/react-navigation/src/routers/SwitchRouter.js index c5384f21..f877c839 100644 --- a/packages/react-navigation/src/routers/SwitchRouter.js +++ b/packages/react-navigation/src/routers/SwitchRouter.js @@ -5,7 +5,6 @@ import createConfigGetter from './createConfigGetter'; import NavigationActions from '../NavigationActions'; import StackActions from './StackActions'; import validateRouteConfigMap from './validateRouteConfigMap'; -import getNavigationActionCreators from './getNavigationActionCreators'; const defaultActionCreators = (route, navStateKey) => ({}); @@ -109,10 +108,7 @@ export default (routeConfigs, config = {}) => { childRouters, getActionCreators(route, stateKey) { - return { - ...getNavigationActionCreators(route), - ...getCustomActionCreators(route, stateKey), - }; + return getCustomActionCreators(route, stateKey); }, getStateForAction(action, inputState) {