重定向似乎不起作用,我找不到任何提示为什么它不起作用。当我访问“ /”时,默认的isAuthenticated
为false。因此,它应该转到(<Redirect to="/login" />)
。我可以看到我的链接更改为“ / login”,但没有任何显示,只是一个空白页面。感觉路由被弄乱了。
奇怪的是,如果我在App.js中添加exact path = "/"
。可以。
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" />)
}}
/>
);