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

使用方式

相关推荐
wuhen_n6 分钟前
LangChain Memory 详解:实现 AI 连续对话不丢失上下文
前端·langchain·ai编程
wuhen_n22 分钟前
LangChain Function Call 实战:让 AI 调用自定义工具
前端·langchain·ai编程
DyLatte26 分钟前
很多人把坚持,误以为成长
前端·后端·程序员
yingyima37 分钟前
凌晨3点的警报声:定时任务监控与告警的最佳实践
前端
zach43 分钟前
React中的兄弟通讯之发布订阅模式
前端·react.js
书中枫叶1 小时前
我用 Vue3 写了一个 Chrome 步骤录制插件:自动截图、本地存储、一键导出教程
前端·vue.js
达达尼昂1 小时前
AI Native 工程实践 : agent 自动化测试
前端·后端·架构
2501_940041741 小时前
前端工程化命题,覆盖性能/架构/交互
前端·交互
夜焱辰1 小时前
我花了3个月,把一个终端 AI Agent 搬进了浏览器——踩坑全记录
前端·agent
阿黎梨梨1 小时前
英伟达API + OpenAI SDK 实战:环境、密钥、异步,全流程拆解
前端