react 路由权限

TypeScript 复制代码
import {  Spin } from "antd";
import { Suspense } from "react";
import { Navigate } from "react-router-dom";
import KeepAlive from 'react-activation'
function AuthRoute(props: any) {
    const spinStyle = {
        width: '100%',
        height: '100%',
        display: 'flex',
        alignItems: 'center',
        justifyContent: 'center'
    }
    const token = localStorage.getItem("token");

    let template = <Navigate to='/' replace></Navigate>;

    if (token || !props.auth) {
        if (props.id) {
            template = <KeepAlive autoFreeze={false} when={true} key={props.id} id={props.id}>
                <Suspense fallback={<div style={spinStyle}><Spin /></div>}>{props.children}</Suspense>
            </KeepAlive>
        } else {
            template = <Suspense fallback={<div style={spinStyle}><Spin /></div>} >{props.children}</Suspense>
        }

    }
    return template
}
export default AuthRoute

使用方式

相关推荐
用户268001379194 分钟前
有哪些高效的Python库可以用于解析淘宝评论的JSON数据?
前端·api
brzhang7 分钟前
A Definition of AGI:用人的智力模型去量 AI,这事靠谱吗?
前端·后端·架构
一 乐8 分钟前
宠物管理|宠物店管理|基于SSM+vue的宠物店管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·宠物
咖啡の猫19 分钟前
Vue插件
前端·javascript·vue.js
韩劳模20 分钟前
Canvas、SVG实现不规则区域高亮的方案说明
前端
张可爱37 分钟前
20251026-从网页 Console 到 Python 爬虫:一次 B 站字幕自动抓取的实践与复盘
前端·python
咖啡の猫1 小时前
Vue中的自定义事件
前端·javascript·vue.js
葡萄城技术团队1 小时前
提升 Web 端 JavaScript 的可信度:WAICT 体系详解
javascript
yangwan1 小时前
Ubunut 22.04 安装 Docker 24.0.x
前端·后端