Rutas anidadas que no se procesan con React Router v4

Estoy tratando de agrupar algunas de mis rutas junto con React Router v4 para limpiar algunos de mis componentes. Por ahora solo quiero agrupar mis rutas no iniciadas y mis rutas de administrador agrupadas, pero lo siguiente no funciona.

main.js
const Main = () => {
  return (
    <main>
      <Switch>
        <Route exact path='/' component={Public} />
        <Route path='/admin' component={Admin} />
      </Switch>
    </main>
  );
};

export default Main;
public.js
const Public = () => {
  return (
    <Switch>
      <Route exact path='/' component={Greeting} />
      <Route path='/signup' component={SignupPage} />
      <Route path='/login' component={LoginPage} />
    </Switch>
  );
};

export default Public;

El componente Saludo se muestra en "localhost: 3000 /", pero el componente SignupPage no se muestra en "localhost: 3000 / signup" y el componente de inicio de sesión no se muestra en "localhost: 3000 / signup". Mirando las herramientas React Dev estas dos rutas devuelven Null.

Respuestas a la pregunta(1)

Su respuesta a la pregunta