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)
相关推荐
GISer_Jing10 小时前
前端框架React知识回顾
前端·react.js·前端框架
浊尘11 小时前
用React实现一个登录界面
前端·react.js·前端框架
我能熬又能学12 小时前
一文打通VUE3响应式原理及其简易实现
vue.js·前端框架·响应式设计
真的很上进19 小时前
【1.8w字深入解析】从依赖地狱到依赖天堂:pnpm 如何革新前端包管理?
java·前端·vue.js·python·webpack·node.js·reactjs
augenstern41620 小时前
React常用库
前端·react.js·前端框架
白天约黑夜20 小时前
为了实现权限控制,我手搓一个 vite 插件【15-权限篇】
前端·javascript·前端框架
西门吹雪~1 天前
【前端框架】深入探讨 Vue 3 组件生命周期的变化和最佳实践
javascript·vue.js·前端框架
Au_ust2 天前
React:初识React
前端·javascript·前端框架
来一碗刘肉面2 天前
React - 高阶函数-函数柯里化
前端·react.js·前端框架
祈澈菇凉2 天前
React 中的状态和属性有什么区别?
前端·react.js·前端框架