React中react-router-dom V6实现简单的路由鉴权
Published on:2022-05-11
react-router-dom V6实现简单的路由鉴权
一、创建一个鉴权的组件,进行鉴权判断逻辑
下面是判断是否登录的简单实现
import React from 'react'import { useSelector } from 'react-redux'import { Navigate, useLocation } from 'react-router-dom'const AuthRouter = ({ children }) => {const token = useSelector((state) => state.token)const location = useLocation()if (token) {return children} else {return <Navigate to='/login' replace state={{ from: location }}></Navigate>}}export default AuthRouter
二、在路由文件中将需要进行登录判断的路由进行组件包含
import { lazy } from 'react'import { Navigate } from 'react-router-dom'import AuthRouter from './AuthRouter'const Index = lazy(() => import('../views/Index'))const Login = lazy(() => import('../views/Login'))const Error = lazy(() => import('../views/Error'))const routes = [{path: '/',element: (<AuthRouter><Index /></AuthRouter>)},{path: '/login',element: <Login />},{path: '/error',element: <Error />},{path: '*',element: <Navigate to='/error' replace />}]export default routes
三、App.js中进行路由的加载和组件的懒加载
import React, { Suspense } from 'react'import { useRoutes } from 'react-router-dom'import routes from './router'import PageLoading from './components/PageLoading'const App = () => {const routeList = useRoutes(routes)return (<><Suspense fallback={<PageLoading />}>{routeList}</Suspense></>)}export default App
如上当未登录时,访问/时,就会自动跳转到 /login
留言列表(0)
加载更多
留言
开源项目
- B5LaravelCMF:基于laravel9+bootstrap3实现的快速开发后台
- B5YiiCMF:基于Yii2+bootstrap3 实现的快速开发后台管理系统
- B5ThinkCmf:基于ThinkPHP6+bootstrap3 实现的快速开发后台管理系统
- B5GoCmf:gin + sqlx +bootstrap 实现后端管理系统
- See also:gitee.com@b5net
最新评论
wpstqe
:作者大大有没有建一个QQ群的计划?
流浪的PHPer
:感谢开源项目,快速开发非常的好用!
小白
:大佬您好 请问一下 http://b5laravelcmf.b5net.com/admin这个演示网址的全部代码有吗,gitee上不全呢,还能提供一下吗,感激不尽阿
tz
:大佬 B5YiiCMF 还开放吗
weifox
on GoLang常用的三方库
:还有 https://github.com/golang-module/carbon
php
:关于导出功能:1、B5thinkCMF部署后 参数的导出功能点击后就白屏了,不知道是哪里有问题?2、人员部门的导出功能没看懂怎么配置的? 只是启用exportshow=true吗
方便的话请答复下,谢谢!
初学者
:您好! 部署了您的B5ThinkCMF,请教下 使用新增功能如何实现二级联动呢 ?谢谢
11
:22
pcy
:前排围观
Louis
:冰舞的博客使用yii框架做的吧,B5ThinkCMF在本地部署后,登录系统的响应时间要比B5YiiCMF的登录时间长,还有一些Bug待修复
文章分类
标签