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)
相关推荐
freewlt1 小时前
React Server Components 深度解析
前端·react.js·前端框架
光影少年3 小时前
前端线上屏幕出现卡顿如何排查?
开发语言·前端·javascript·学习·前端框架·node.js
luback5 小时前
前端把页面用PDF导出
前端·pdf·reactjs·html2canvas
军军君019 小时前
数字孪生监控大屏实战模板:固体颗粒物监管平台
前端·javascript·vue.js·typescript·前端框架·echarts·less
我滴老baby11 小时前
ReAct推理模式详解让智能体学会边思考边行动
前端·react.js·前端框架
@大迁世界11 小时前
33.如何在 React 中使用内联样式(inline styles)?
前端·javascript·react.js·前端框架·ecmascript
Ting.~13 小时前
从 0 到 1 搭建 Vue 项目
vue.js·前端框架
剑神一笑1 天前
从字符串到时间线:实现一个 Cron 表达式解析器
javascript·typescript·reactjs
程序员cxuan1 天前
我开发了一个排版工具
程序员·前端框架