我遇到了一个问题。
当我想要重定向时,我收到此错误
You tried to redirect to the same route you're currently on: "/"
我的 App.js 文件看起来像这样
render() {
const { auth } = this.props;
if (!auth.isAuthentificated) {
return <Redirect to="/" />;
}
return (
...
<Switch>
<Route path="/welcome" component={Welcome} />
<Route path="/user-info" component={UserInfo} />
<Route path="/" component={LoginPage} />
</Switch>
);
}
如果我的代码不清楚,请帮我提出建议。如果LoginPage
,如何将用户从任何Routs重定向到!auth.isAuthentificated === true
组件
我正在使用react-router 4.2.0,
答案 0 :(得分:3)
在重定向到该路径之前,您需要验证您是否已:
import {withRouter} from 'react-router-dom';
// ...
render() {
const { auth } = this.props;
const {pathname} = this.props.location;
if (!auth.isAuthentificated && pathName !== '/') {
return <Redirect to="/" />;
}
return (
...
<Switch>
<Route path="/welcome" component={Welcome} />
<Route path="/user-info" component={UserInfo} />
<Route path="/" component={LoginPage} />
</Switch>
);
}