我正在尝试实施受保护的路线,以仅允许登录的用户访问我的应用程序。我编写的代码似乎有效,当我尝试在未登录的情况下访问主页时,我被重定向到我的登录页面,但是一旦我登录,我可以访问该页面,但我不会呈现,并且出现以下错误:点击此处查看错误
我尝试了多种方法,将元素包装在受保护的路由中似乎是 V6 的处理方式,但它似乎对我不起作用:
我的受保护路线
interface PrivateRouteProps extends RouteProps {
}
const PrivateRoute: React.FC<PrivateRouteProps> = ({...rest}) => {
const auth = useAuth();
if (auth?.user === null) {
return <Navigate to='/'/>;
}
return <Route {...rest}/>;
};
export default PrivateRoute;
Run Code Online (Sandbox Code Playgroud)
我的应用程序(路线使用)
function App() {
useEffect(() => {
API
.get('api', '/reservation', {})
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error.response);
});
}, [])
return (
<Router>
<Routes>
<Route path='/' element={<LoginPage />}/>
<Route path='/consultAndReserve' element={<PrivateRoute><Navbar/><ConsultReserve/></PrivateRoute>} />
<Route path='/consultAndReserve/:date' element={<><Navbar/><ConsultReserveWithDate/></>}/>
<Route path='/myReservations' element={<><Navbar/><Reservations/></>}/> …Run Code Online (Sandbox Code Playgroud)