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

使用方式

相关推荐
linux_cfan几秒前
打造智慧校园视听新基建:高校与在线教育平台 Web 视频播放器选型指南 (2026版)
前端·学习·音视频·教育电商
JYeontu2 分钟前
实现一个超萌的柯基交互输入框
前端
天蓝色的鱼鱼11 分钟前
Vite 8:从“混动”到“纯电”,构建性能提升10倍+
前端·vite
dreams_dream11 分钟前
XSS类型
前端·xss
wuhen_n11 分钟前
副作用的概念与effect基础:Vue3响应式系统的核心
前端·javascript·vue.js
张3蜂12 分钟前
Vue.js-知识体系
前端·javascript·vue.js
Cache技术分享13 分钟前
333. Java Stream API - 按年份找出合作最多的作者对:避免 Optional.orElseThrow() 的风险
前端·后端
用户6000718191016 分钟前
【翻译】元素与 Children 属性
前端·react.js
Mintopia19 分钟前
又快又好的前端界面软件是怎么做出来的
前端
青青家的小灰灰19 分钟前
深入解析 React 中的 useEffect:副作用管理的艺术与科学
前端·react.js