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)
相关推荐
Super毛毛穗39 分钟前
Vue中<script setup></script>的主要语法元素和特性
前端·javascript·vue.js·前端框架
h_小波10 小时前
探索 Vue.js 组件开发:从基础到进阶的完整指南
前端·vue.js·前端框架
多客软件佳佳1 天前
便捷的线上游戏陪玩、线下家政预约以及语音陪聊服务怎么做?系统代码解析
前端·游戏·小程序·前端框架·uni-app·交友
好开心331 天前
04、Vue与Ajax
前端·ajax·前端框架·vue·js
Cachel wood1 天前
Vue.js前端框架教程13:Vue空值合并?? 可选链?.和展开运算符...
linux·前端·javascript·vue.js·前端框架·ecmascript
Cachel wood1 天前
Vue.js前端框架教程10:Vue生命周期钩子onBeforeMount 和onMounted
linux·前端·javascript·vue.js·阿里云·前端框架·ecmascript
Cachel wood1 天前
Vue.js前端框架教程11:Vue监听器watch和watchEffect
前端·javascript·vue.js·git·ui·前端框架·ecmascript
蜗牛前端1 天前
🎉🎉🎉2024年末重磅推出更懂你的uni-app框架!!!
前端·前端框架·uni-app
Cachel wood1 天前
Vue.js前端框架教程14:Vue组件el-popover
前端·javascript·vue.js·python·elementui·django·前端框架
Cachel wood1 天前
Vue.js前端框架教程12:Vue表单验证rules和form.validate
服务器·前端·javascript·vue.js·前端框架·ecmascript