From c828cb128ce2d710e87963ac7db12b5a754d575f Mon Sep 17 00:00:00 2001 From: Brent Vatne Date: Tue, 16 Apr 2019 16:55:06 -0700 Subject: [PATCH] Fix SwitchRouter depending on previous state to be defined when performing navigate --- packages/core/src/routers/SwitchRouter.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/src/routers/SwitchRouter.js b/packages/core/src/routers/SwitchRouter.js index 9f838b7b..96dba01a 100644 --- a/packages/core/src/routers/SwitchRouter.js +++ b/packages/core/src/routers/SwitchRouter.js @@ -93,14 +93,14 @@ export default (routeConfigs, config = {}) => { if (backBehavior !== 'history') { return nextState; } - let nextRouteKeyHistory = prevState.routeKeyHistory; + let nextRouteKeyHistory = prevState ? prevState.routeKeyHistory : []; if (action.type === NavigationActions.NAVIGATE) { - nextRouteKeyHistory = [...prevState.routeKeyHistory]; // copy + nextRouteKeyHistory = [...nextRouteKeyHistory]; // copy const keyToAdd = nextState.routes[nextState.index].key; nextRouteKeyHistory = nextRouteKeyHistory.filter(k => k !== keyToAdd); // dedup nextRouteKeyHistory.push(keyToAdd); } else if (action.type === NavigationActions.BACK) { - nextRouteKeyHistory = [...prevState.routeKeyHistory]; // copy + nextRouteKeyHistory = [...nextRouteKeyHistory]; // copy nextRouteKeyHistory.pop(); } return {