//prtvate route in react router dom version 6
function PrivateRoute({ children, ...rest }) {
let auth = useAuth();
return (
<Route
{...rest}
render={() => auth
? children
: <Redirect to="/login" />
}
/>
);
}
function App() {
return (
<BrowserRouter>
<Route path="/" component={Public} />
<PrivateRoute path="/private" component={Private} />
//private route
</BrowserRouter>
);
}
In React Router Dom v6, you must use <Navigate to="/login" /> not <Redirect to="/login" />