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)
相关推荐
AICoder码农王1 天前
Vitest 实战:从一个真实项目看懂测试套件
前端·前端框架
光影少年2 天前
react navite调试方案:Flipper、远程调试
前端·javascript·react native·react.js·前端框架
泯泷2 天前
手搓JSVMM第 8 篇:函数调用:参数、返回值与调用帧
前端·javascript·前端框架
CIO_Alliance3 天前
AI提示系列(2)| Few-shot与ReAct有何不同? 大模型工具调用的底层逻辑详解
前端·人工智能·深度学习·神经网络·react.js·前端框架·ai+ipaas
冬奇Lab4 天前
一天一个开源项目(第200篇):next-forge - 生产级 Next.js SaaS 启动模板
前端·前端框架·开源
泠曦れいひ4 天前
在当前项目中安装Vite
前端框架·npm·node.js
墨白曦煜4 天前
智能体架构范式总结(React、Plan-And-Solve、Reflection)
前端·react.js·前端框架
zttbee4 天前
vue学习(白话功能版)
前端·vue.js·学习·前端框架