如何解决在React中重定向到相同的登录路由
我正在尝试创建一条私有路由,当用户登录时,它将通过/ authentication路由登录后刷新并重定向到同一组件,否则,如果他已经登录,则直接进入组件
import React,{ useContext,useEffect } from "react";
import { Route,Redirect } from "react-router-dom";
import AuthContext from "../auth/AuthContext";
import Layout from "../layout/Layout"
const PrivateRoute = ({ component: Component,...rest }) => {
const authContext = useContext(AuthContext);
const { isAuthenticated } = authContext;
return (
<Route
{...rest}
render={props =>(
<Layout>
{!isAuthenticated ? (
<Redirect to={`/authentication?redirect=${props.location.pathname}${props.location.search}`} />
) : (
<Component {...props} />
)}
</Layout>
)}
/>
);
};
export default PrivateRoute;
当前,该程序可以正常工作,直到正确进入路线为止。
例如:http:// localhost:3000 / authentication /?redirect = / live
但是当用户通过此帐户登录时...不会重定向到/ live而是停留在该位置。
怎么了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。