title: Pushing to browser history on a failed request does not render expected component
body: <p>I have a basic handler that will attempt to refresh a user's login via a token. I used <a href="https://github.com/ReactTraining/react-router/blob/master/docs/guides/NavigatingOutsideOfComponents.md" rel="nofollow noreferrer">the following guide</a> to implement it.</p>
  
  <pre><code>function redirectToLogin() {
    const redirectUrl = encodeURIComponent(window.location.href);
    browserHistory.push('/login', { query: { redirectUrl } });
  }
  
  async function refreshToken(options) {
    try {
      return await request(REFRESH_URL, options);
    } catch (e) {
      redirectToLogin();
    }
  }
  </code></pre>
  
  <p>this does update the window location, as I am at <code>/login</code> after visiting the page. However, it does not render the appropriate component at that route.</p>
  
  <p>If I reload the page, it does render the correct component. I tried catching the error and dispatching an event in an attempt to "force" a re-render, however, it still does not trigger the expected re-render.</p>
  
  <p>Why isn't the component rendering on navigation?</p>