Reagir o comportamento do switch do roteador

(react-router-dom versão: 4.1.1)

Tenho rotas de trabalho configuradas, mas estou um pouco confuso sobre o motivo pelo qual o<Switch>&nbsp;foi necessário:

index.js

import React from 'react';
import { HashRouter, Route, Switch } from 'react-router-dom';

import App from './components/App.jsx';
import FridgePage from './components/FridgePage.jsx';

ReactDOM.render(
    <HashRouter>
        <Switch>
            <Route exact path="/" component={App} />
            <Route path="/fridge" component={FridgePage} />
        </Switch>
    </HashRouter>,
    document.getElementById('root')
)

App.jsx

import Header from './Header.jsx';
import {Link} from 'react-router-dom';

export default class App extends React.Component {
    render() {
        console.log(this.props);
        return (
            <div>
                <h1>Herbnew</h1>
                <Link to="fridge">Fridge</Link>
                {this.props.children}
            </div>
        );
    }
}

FridgePage.jsx

import React from 'react';

export default class FridgePage extends React.Component {
    render() {
        return (
            <div>
                <h1>Fridge</h1>
                You finally found the fridge!
            </div>
        );
    }
}

Eu costumava ter umdiv&nbsp;envolvendo as rotas em vez de umSwitch. Nesse caso, eu vejo oApp&nbsp;renderizado e tente clicar no link Fridge, mas nada acontece (oFridgePage&nbsp;não é renderizado) e nenhum erro é gerado no console.

Pelo que entendi, a única coisa que oSwitch&nbsp;faz é renderizar exclusivamente a primeira rota que corresponde e o problema comum como resultado da omissão é renderizar as duas páginas ao mesmo tempo. Se meu"/"&nbsp;como a rota é exata, mesmo sem o Switch, a geladeira deve ser a única rota que combina, certo? Por que não renderiza nada?