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

使用方式

相关推荐
一个W牛5 分钟前
报文比对工具(xml和sop)
xml·前端·javascript
鸡吃丸子19 分钟前
浏览器是如何运作的?深入解析从输入URL到页面渲染的完整过程
前端
作业逆流成河22 分钟前
🔥 enum-plus 3.0:介绍一个天花板级的前端枚举库
前端·javascript·前端框架
爱喝水的小周26 分钟前
《UniApp 页面导航跳转全解笔记》
前端·uni-app
蒜香拿铁34 分钟前
Angular【组件】
前端·javascript·angular.js
ByteCraze35 分钟前
一文讲透 npm 包版本管理规范
前端·arcgis·npm
梵得儿SHI1 小时前
Vue 模板语法深度解析:从文本插值到 HTML 渲染的核心逻辑
前端·vue.js·html·模板语法·文本插值·v-text指令·v-html指令
Sapphire~1 小时前
重学JS-012 --- JavaScript算法与数据结构(十二)正则表达式
javascript·数据结构·算法
浪裡遊1 小时前
HTML面试题
前端·javascript·react.js·前端框架·html·ecmascript
More more1 小时前
uniapp实时查看在线监控,JessibucaMobile实现横屏播放
前端·javascript·uni-app·jessibucamobile