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)
相关推荐
EndingCoder6 小时前
React从基础入门到高级实战:React 实战项目 - 项目三:实时聊天应用
前端·react.js·架构·前端框架
前端小趴菜0510 小时前
React - 组件通信
前端·react.js·前端框架
iiismobi1 天前
React项目的状态管理:Redux Toolkit
前端·react.js·前端框架·redux toolkit
potender1 天前
前端框架Vue
前端·vue.js·前端框架
tingkeiii2 天前
【react+antd+vite】优雅的引入svg和阿里巴巴图标
前端·react.js·前端框架
清幽竹客2 天前
vue-18(使用 Vuex 插件实现高级功能)
前端·vue.js·前端框架·vue
EndingCoder2 天前
React从基础入门到高级实战:React 实战项目 - 项目一:在线待办事项应用
前端·javascript·react.js·前端框架
Hilaku2 天前
你以为的 Tailwind 并不高效,看看这些使用误区
前端·css·前端框架
秋田君2 天前
Vue3 + Vite:我的 Qiankun 微前端主子应用实践指南
前端·vue.js·前端框架
betterangela2 天前
react私有样式处理
前端·react.js·前端框架