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)
相关推荐
coderYYY15 分钟前
多个el-form-item两列布局排齐且el-select/el-input组件宽度撑满
前端·javascript·vue.js·elementui·前端框架
Watermelo6171 小时前
前端如何应对精确数字运算?用BigNumber.js解决JavaScript原生Number类型在处理大数或高精度计算时的局限性
开发语言·前端·javascript·vue.js·前端框架·vue·es6
郝开13 小时前
扩展:React 项目执行 yarn eject 后的 scripts 目录结构详解
react.js·前端框架·react
懒羊羊我小弟18 小时前
使用 ECharts GL 实现交互式 3D 饼图:技术解析与实践
前端·vue.js·3d·前端框架·echarts
小张快跑。20 小时前
【Vue3】使用vite创建Vue3工程、Vue3基本语法讲解
前端·前端框架·vue3·vite
郝开1 天前
扩展:React 项目执行 yarn eject 后的 config 目录结构详解
react.js·前端框架·react
球球和皮皮2 天前
Babylon.js学习之路《一、初识 Babylon.js:什么是 3D 开发与 WebGL 的完美结合?》
javascript·3d·前端框架·ar·vr
海绵不是宝宝8172 天前
React+Springboot项目部署ESC服务器
前端·react.js·前端框架
ZHOU_WUYI2 天前
React 实现 JWT 登录验证的最小可运行示例
前端·react.js·前端框架
東雪木2 天前
Web开发—Vue工程化
前端·javascript·vue.js·前端框架·web