title: React-router v4 this.props.history.push(...) not working
body: <p>I'm trying to route programatically using <code>this.props.history.push(..)</code> but it doesn't seem to work.</p>
  
  <p>Here's the router: </p>
  
  <pre><code>import {
   BrowserRouter as Router,
   Route
  } from 'react-router-dom';
  
  &lt;Router&gt;
   &lt;Route path="/customers/" exact component={CustomersList} /&gt;
   &lt;Route path="/customers/:id" exact component="{Customer} /&gt;
  &lt;/Router&gt;
  </code></pre>
  
  <p>In CustomerList, a list of customers is rendered. Clicking on a customer (li) should make the application route to Customer:</p>
  
  <pre><code>import { withRouter } from 'react-router'
  
  class Customers extends Component {
    static propTypes = {
      history: PropTypes.object.isRequired
    }
  
   handleCustomerClick(customer) {
     this.props.history.push(`/customers/${customer.id}`);
   }
  
   render() {
     return(
      &lt;ul&gt;
        { this.props.customers.map((c) =&gt;
          &lt;li onClick={() =&gt; this.handleCustomerClick(c)} key={c.id}&gt;
            {c.name}
          &lt;/li&gt; 
      &lt;/ul&gt;
    )
  
   }
  }
  
  //connect to redux to get customers
  
  CustomersList = withRouter(CustomersList);
  export default CustomersList;
  </code></pre>
  
  <p>The code is partial but illustrates perfectly the situation.
  What happens is that the browser's address bar changes accordingly to history.push(..), but the view does not update, Customer component is not rendered and CustomersList is still there. Any ideas?</p>