Autenticar asíncrono con react-router-v4

tengo estoPrivateRoute componente (de los documentos):

const PrivateRoute = ({ component: Component, ...rest }) => (
  <Route {...rest} render={props => (
    isAuthenticated ? (
      <Component {...props}/>
    ) : (
      <Redirect to={{
        pathname: '/login',
        state: { from: props.location }
      }}/>
    )
  )}/>
)

me gustaría cambiarisAuthenticated a una solicitud de sincronizaciónisAuthenticated(). Sin embargo, antes de que la respuesta haya regresado, la página redirige.

Para aclarar, elisAuthenticated La función ya está configurada.

¿Cómo puedo esperar a que se complete la llamada asincrónica antes de decidir qué mostrar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta