Tạo một component bọc, kiểm tra auth rồi redirect nếu chưa đăng nhập:
jsx
function PrivateRoute({ children }) {
const { user } = useAuth()
const location = useLocation()
return user
? children
: <Navigate to="/login" state={{ from: location }} replace />
}
<Route path="/dashboard" element={<PrivateRoute><Dashboard /></PrivateRoute>} />Truyền state={{ from: location }} để sau khi đăng nhập xong còn đưa user về đúng trang họ định vào. <Navigate replace> là bản thay thế cho <Redirect> của React Router v5.