توی ریاکت ۱۸ بجای switch از routes استفاده میشه، برای همین هرچی که داخل routes استفاده میشه خطای شبیه به این رو داریم:
[PrivateRoute] is not a component. All component children of must be a or
این هم کد من:
<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 ارور میگیره چون نیست توی این ورژن
آبجکت هایی که هم پاس میدیم بهش همش رو ارور میگیره
لطفا راهنمایی کنین