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)
相关推荐
西洼工作室4 小时前
React轮播图优化:通过延迟 + 动画的组合,彻底消除视觉上的闪烁感
前端·react.js·前端框架
@大迁世界6 小时前
11.在 React.js 中,state 与 props 的差异体现在哪里?
前端·javascript·react.js·前端框架·ecmascript
@大迁世界9 小时前
13.在 React 中应怎样正确更新 state?
前端·javascript·react.js·前端框架·ecmascript
光影少年12 小时前
平时如何学习新技术?
后端·学习·前端框架
im_AMBER14 小时前
万字长文:从零实现 Yjs + Hocuspocus 协同文档
前端·react.js·前端框架
@大迁世界15 小时前
15.React 中的 Fragment 是什么?它出现的动机是什么?
前端·javascript·react.js·前端框架·ecmascript
薛一半16 小时前
React组件通信初识
前端·react.js·前端框架
Forever7_1 天前
重磅!Vue3 手势工具正式发布!免费使用!
前端·前端框架·前端工程化
西洼工作室2 天前
React城市选择模块功能实现
前端·react.js·前端框架
Highcharts.js2 天前
React如何集成图表?推荐使用Highcharts官方React封装库
javascript·react.js·前端框架·ecmascript