React Router Redirect не работает должным образом - PullRequest
0 голосов
/ 26 октября 2019

Перенаправление, кажется, не работает, и я не могу найти никакой подсказки, почему он не работает. Когда я получаю доступ к "/", по умолчанию isAuthenticated ложно. Так что должно идти к (<Redirect to="/login" />). Я вижу, что моя ссылка изменена на "/ login", но ничего не отображается, только пустая страница. Чувствую, что маршрутизация как-то испорчена.

Странная вещь, если я добавлю exact path = "/" в App.js. Это работает.

App.js:

function App(props) {
  const { isAuthenticated } = props;
  return (
    <Switch>
      <ProtectedRoute
        exact path = "/"  // not working without this line
        component={Home}
        isAuthenticated={isAuthenticated}
      />

      <Route path="/login" component={Login} />
    </Switch>
  );
}

ProtectedRoute.js:

const ProtectedRoute = ({
  component: Component,
  isAuthenticated
}) => (<Route exact path = "/"
    render={props =>{
      return isAuthenticated ? (
        <Component />
      ) : (<Redirect to="/login" />)
    }}
  />
);
...