React 路由权限跳转 Token判断 路由控制 登录状态控制

封装路由组件

javascript 复制代码
import {Navigate} from "react-router-dom";

export function AutoRote({children}){

    const token =getToken()

    if(token){ //已经登录

        return <>{children}</>

    }else{  //未登录

        return <Navigate to={'/login'} replace ></Navigate>

    }
}




function getToken(){
    return '模拟token'
}

使用

javascript 复制代码
import User from "../view/User";
import Login from "../view/Login";

import {createBrowserRouter} from "react-router-dom";
import Info from "../view/User/Info";
import NotFound from "../view/System/404";
import {AutoRote} from "../components/AuthRoute";

const router = createBrowserRouter([
    {
        path: "/",
        element: <Login></Login>, // 默认路由重定向到 /login
    },
    ,{
        path:'/login',
        element:<Login></Login>
},
    {   path:'/user',
        element:<User></User>,
        children:[
            {
                // path:'info',
                index:true,
                element: <AutoRote><Info></Info></AutoRote>
            }
        ]
    },{
        path:'*',
        element:<NotFound></NotFound>
    }
,])

export default router
相关推荐
Csvn8 分钟前
性能监控
前端
Highcharts.js10 分钟前
Highcharts Gantt使用符号的自定义数据标签开发甘特图示例
javascript·甘特图·highcharts·图表开发·实战代码·响应式图表
Csvn34 分钟前
构建工具
前端
FRing031 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2
JavaPub-rodert2 小时前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang
kyriewen3 小时前
Skills 榜前 10 我全装了:只有 3 个能直接用
前端·javascript·程序员
IT_陈寒4 小时前
当Java的hashCode遇上Lombok,我的缓存被全清了
前端·人工智能·后端
工控丫丫4 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
jerrywus4 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude
孟陬6 小时前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端