React 守卫路由

1.在components文件夹下新建一个Auth.js的文件,里面写入判断token的逻辑:

javascript 复制代码
// 导入重定向的路由模块
import { Navigate } from "react-router-dom"
// 获取本地token
let token = window.sessionStorage.getItem('token')
function Auth({children}){    
//如果token存在返回内容
if(token){       
 return <>{children}</>    
 }else{      
  return <Navigate to="/Login" replace></Navigate>  
  }
}
export {Auth}

2.在App.js里导入并使用:

javascript 复制代码
// 导入路由鉴权组件
import {Auth} from './components/Auth'

3.需要鉴权的路由组件用Auth组件包裹,那么这个路由在没有token的情况下就会强制跳转到登录:

javascript 复制代码
<Route path='/'element={ <Auth><Home/></Auth> }></Route)
相关推荐
yanyu-yaya40 分钟前
前端面试题
前端·面试·前端框架
yanyu-yaya6 小时前
速学兼复习之vue3章节3
前端·javascript·vue.js·学习·前端框架
智绘前端12 小时前
React 组件开发速查卡
前端·react.js·前端框架
白鳯14 小时前
分形世界:React实现交互式分形图绘制与导出
react.js·前端框架·cursor·分形·vibe coding·分形绘制·数学之美
利刃大大16 小时前
【Vue】Vue介绍 && 声明式渲染 && 数据响应式
前端·javascript·vue.js·前端框架
GISer_Jing1 天前
AI驱动营销:业务技术栈实战(From AIGC,待总结)
前端·人工智能·aigc·reactjs
墨轩尘1 天前
qiankun的简单使用
前端·vue.js·前端框架
木斯佳1 天前
Vue2/Vue3 迁移头秃?Renderless 架构让组件 “无缝穿梭”
架构·前端框架
我即将远走丶或许也能高飞1 天前
reduxjs/toolkit 的学习使用
前端·javascript·学习·reactjs
壹号机长2 天前
canvas烟花特效各种前端框架都可以使用H5,vue,react,
vue.js·react.js·前端框架