Перенаправление, кажется, не работает, и я не могу найти никакой подсказки, почему он не работает. Когда я получаю доступ к "/", по умолчанию 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" />)
}}
/>
);