title: React router : blank page
body: <p>Here is how the router I defined :</p>
  
  <pre><code>import React from 'react';
  import {BrowserRouter, Switch, Route} from 'react-router-dom';
  import PersonsList from './PersonsList';
  import Error from './Error'
  import Person from './Person'
  
  const Router = () =&gt; (
      &lt;BrowserRouter&gt;
          &lt;Switch&gt;
              &lt;Route path="/persons" strict={false} component={PersonsList}/&gt;
              &lt;Route path="/persons/:id" component={Person}/&gt;
              &lt;Route component={Error}/&gt;
          &lt;/Switch&gt;
      &lt;/BrowserRouter&gt;
  );
  
  export default Router;
  </code></pre>
  
  <p>The first route works perfectly.</p>
  
  <p>The problem is that in the <code>PersonsList</code>, when I try to reach the <code>/persons/:id</code> route, I get a blank page.</p>
  
  <p>Here is the code I use for redirection in the PersonsList component :</p>
  
  <pre><code>static propTypes = {
      history: PropTypes.object
  };
  
  handleRedirection = (aPerson) =&gt; {
      this.props.history.push(`/persons/${aPerson.id}`);
  }
  
  ...
  
  {this.state.persons.map(aPerson =&gt; (
      &lt;React.Fragment key={aPerson.id}&gt;
          &lt;div className="row" onClick={this.handleRedirection.bind(this,aPerson)}&gt;
  </code></pre>
  
  <p>Here is the <code>Person</code> component :</p>
  
  <pre><code>import React from 'react';
  import PropTypes from 'prop-types';
  import { withRouter } from 'react-router';
  
  class Person extends React.Component {
      static propTypes = {
          match: PropTypes.object 
      };
  
      constructor(props){
          super(props);
          console.log('the selected person : ' + this.props.match.params.id);
      }
  
      render(){
          return(
              &lt;div&gt;A person&lt;/div&gt;
          )
      }
  }
  
  
  export default withRouter(Person);
  </code></pre>
  
  <p>I can see the <code>console.log</code> output but no rendering of the <code>&lt;div&gt;A person&lt;/div&gt;</code>.</p>
  
  <p><strong>Question</strong> 
  Why the second route returns a blank content knowing its component's constructor is called? Why the rendering is not processed ?</p>