توی ریاکت ۱۸ بجای switch از routes استفاده میشه، برای همین هرچی که داخل routes استفاده میشه خطای شبیه به این رو داریم:
[PrivateRoute] is not a
این هم کد من:
<Routes>
<Route path="/" element={<HomePage />} />
<Route path="/blog" element={<Blog />} />
<PrivateRoute path='/panel'>
<Panel />
PrivateRoute>
Routes>
و در قسمت PrivateRoute
import { Route, redirect, useLocation } from "react-router-dom";
import { useAuth } from "../context/auth-user";
export default function PrivateRoute({ children, ...rest }) {
const { isAuthenticated } = useAuth();
const location = useLocation();
return (
<Route {...rest}>
<h3>loginh3>
{isAuthenticated ? children : <redirect to={
pathname:'/login',
state:{
from:location
}
} />}
Route>
);
}
از redirect ارور میگیره چون نیست توی این ورژن
آبجکت هایی که هم پاس میدیم بهش همش رو ارور میگیره
لطفا راهنمایی کنین