diff --git a/modules/createTransitionManager.js b/modules/createTransitionManager.js index 9843b9e146..28f757e6fd 100644 --- a/modules/createTransitionManager.js +++ b/modules/createTransitionManager.js @@ -1,5 +1,4 @@ import warning from './routerWarning' -import { REPLACE } from 'history/lib/Actions' import computeChangedRoutes from './computeChangedRoutes' import { runEnterHooks, runChangeHooks, runLeaveHooks } from './TransitionUtils' import _isActive from './isActive' @@ -43,10 +42,6 @@ export default function createTransitionManager(history, routes) { ) } - function createLocationFromRedirectInfo(location) { - return history.createLocation(location, REPLACE) - } - let partialNextState function match(location, callback) { @@ -104,7 +99,7 @@ export default function createTransitionManager(history, routes) { function handleErrorOrRedirect(error, redirectInfo) { if (error) callback(error) - else callback(null, createLocationFromRedirectInfo(redirectInfo)) + else callback(null, redirectInfo) } } diff --git a/modules/match.js b/modules/match.js index c3055c546e..688c870cc2 100644 --- a/modules/match.js +++ b/modules/match.js @@ -1,3 +1,4 @@ +import { REPLACE } from 'history/lib/Actions' import invariant from 'invariant' import createMemoryHistory from './createMemoryHistory' @@ -45,7 +46,7 @@ function match({ history, routes, location, ...options }, callback) { transitionManager.match(location, function (error, redirectLocation, nextState) { callback( error, - redirectLocation, + redirectLocation && router.createLocation(redirectLocation, REPLACE), nextState && { ...nextState, history,