title: Manually entering a url refreshes whole react app
body: <p>I have a simple react app I'm working on that utilizes react router.  My apps starts out of app.js and has the following router setup in app.js:</p>
  
  <pre><code>&lt;BrowserRouter&gt;
    &lt;MuiThemeProvider theme={theme}&gt;
      &lt;NavigationBar onLogout={self.userLoggedOut} loggedIn={self.state.loggedIn} /&gt;
      &lt;div className="content-area container-fluid"&gt;
        &lt;Switch&gt;
          &lt;Route exact path="/" component={HomePage} /&gt;
          &lt;Route exact path="/login" component={LoginPage} /&gt;
          &lt;Route exact path="/page1" component={Page1} /&gt;
          &lt;Route exact path="/page2" component={Page2} /&gt;
        &lt;/Switch&gt;
      &lt;/div&gt;
    &lt;/MuiThemeProvider&gt;
  &lt;/BrowserRouter&gt;
  </code></pre>
  
  <p>In my app.js constructor, I have console.log to fire off a message to say the constructor was called.  Initially I see the message fire off when first coming into the app and then if I use links to navigate between pages I do not see any follow up messages.  However, if I go the browser address bar and type in a url manually (<a href="http://localhost:3000/login" rel="nofollow noreferrer">http://localhost:3000/login</a> for example), the page loads successfully but have the message from the app.js constructor fire off again.  How do you get a react/react-router app to accept manually entered urls the same as links so that the app doesn't reload?</p>