问题描述
我正在尝试创建一条私有路由,当用户登录时,它将通过/ 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 (将#修改为@)