React Router v4 dans le cadre d'une SPA

En premier lieu, il faut utiliser react-router-dom et pas react-router, comme je l'ai fait intuitivement :

nmp install --save react-router-dom  

Pour le reste un exemple de mon index.js vaut mieux qu'un long discours :

import React from 'react';  
import ReactDOM from 'react-dom';  
import {  
  BrowserRouter as Router,
  Route,
  Link
} from 'react-router-dom'

import App from './components/App';  
import SignIn from './components/SignIn';  
import SignUp from './components/SignUp';

const BasicRoute = () => {  
    return (
    <Router>
        <div>
        <ul>
            <li><Link to="/">Home</Link></li>
            <li><Link to="/signin">Sign in</Link></li>
            <li><Link to="/signup">Sign up</Link></li>
        </ul>

        <hr/>

            <Route exact path="/" component={App} />
            <Route path="/signin" component={SignIn} />
            <Route path="/signup" component={SignUp} />
        </div>
    </Router>
    )
}


ReactDOM.render(  
    <BasicRoute />, document.getElementById('root')
)