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

使用方式

相关推荐
肖。35487870946 分钟前
html中onclick误区,后续变量会更改怎么办?
android·java·javascript·css·html
Lee川12 分钟前
从字符串操作到数组映射:一次JavaScript数据处理的深度探索
javascript
随逸17722 分钟前
《React 性能优化:useMemo 与 useCallback 实战》
javascript·react.js
J2虾虾25 分钟前
Vite前端项目构建
前端
HelloReader27 分钟前
Tauri 用“系统 WebView + 原生能力”构建更小更快的跨平台应用
前端·javascript·后端
Wect29 分钟前
LeetCode 106. 从中序与后序遍历序列构造二叉树:题解+思路拆解
前端·算法·typescript
yuki_uix29 分钟前
当系统"没了头"(headless),AI 反而更好接手了?
前端
滕青山29 分钟前
JSON转TypeScript接口核心JS实现
前端·javascript·vue.js
专注VB编程开发20年33 分钟前
C#,VB.NET多台电脑读取REDIS服务器,如何保证数据不会冲突
前端·redis·bootstrap·html
凯里欧文42738 分钟前
🔥真正高级的前端,早就用这 10 个 CSS 特性干掉 80% 冗余代码
前端·css