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)
相关推荐
hoLzwEge18 小时前
node-linker VS shamefully-hoist
前端·前端框架
星栈1 天前
SPA 写累了?试试 LiveView:服务端管状态,前端不写 JS
前端·前端框架·elixir
星栈3 天前
写 Dioxus Demo 不难,难的是把它写成项目
前端·rust·前端框架
用户2204603958684 天前
HBuilder + uniapp 项目切换到VsCode
前端框架
薛定喵的谔4 天前
我开源了一个精致的 Next.js 博客模板:Skyplume
前端·前端框架·next.js
星栈4 天前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:再把新建、编辑和交付补上
前端·rust·前端框架
donecoding4 天前
3 条命令搞定闭环 Monorepo:Lerna 版本管理 + 拓扑构建 + 自定义分发
前端·前端框架·node.js
星栈5 天前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:第一版先把列表和详情跑通
前端·rust·前端框架
下家6 天前
我放弃了 Vue/React,选择自研框架
前端·前端框架
hoLzwEge6 天前
pnpm-lock.yaml
前端框架