react-router-dom v6鉴权

简介: react-router-dom v6鉴权

路由鉴权

详细解析

  1. 判断token是否存在
  2. 如果存在 直接正常渲染
  3. 如果不存在 重定向到登录路由
import { Navigate } from "react-router-dom";
// 高阶组件:把一个组件当成另外一个组件的参数传入 然后通过一定的判断 返回新的组件
// 这里的AuthRoute就是一个高阶组件
function AuthRoute({ children }) {
  // 获取token
  const tokenStr =  JSON.parse(sessionStorage.getItem('user'))
  // 如果token存在 直接正常渲染
  if (tokenStr) {
    return <>{children}</>
  }
  // 如果token不存在,重定向到登录路由
  else {
    return <Navigate to='/login' />
  }
}
{/*
 <AuthRoute> <Layout /> </AuthRoute> 
 登录:<> <Layout /> </>
 非登录:<Navigate to="/login" replace />
*/ }
export default AuthRoute

简单易懂~

1.对于本地sessionStorage或者localStorage保存的值进行判断

2. 根据后端传递的token值进行判断

import { Navigate } from "react-router-dom";
function AuthRoute({ children }) {
  // 拿取后端token或者localStorage、sessionStorage的值
  let abc = JSON.parse(sessionStorage.getItem('user'))
  if (abc) {
    return <>{children}</>
  } else {
    return <Navigate to='/login' />
  }
}
export default AuthRoute
相关文章
|
7月前
|
资源调度 前端开发 JavaScript
React Router:React应用的路由管理
【4月更文挑战第25天】React Router是React的官方路由库,用于管理SPA的路由。它基于组件,将URL映射到React组件,核心概念包括路由、链接和导航。设置路由时,在根组件中使用BrowserRouter或HashRouter,包裹Routes组件,定义Route规则。Link组件用于创建内部链接,实现导航。高级特性包括嵌套路由、参数化路由和编程式导航,如子路由、动态参数和JavaScript控制的导航。掌握React Router能帮助开发者更高效地构建复杂的React应用。
|
7月前
|
JavaScript 前端开发 网络安全
vue与react路由拦截
vue与react路由拦截
88 4
|
缓存 移动开发 前端开发
【React】react-router 路由详解
【React】react-router 路由详解
343 1
【React】react-router 路由详解
|
前端开发
【react 中router v6 与 v5 区别】
【react 中router v6 与 v5 区别】
|
前端开发
react-router-dom v6 navigate路由传参
react-router-dom v6 navigate路由传参
95 0
|
前端开发 网络架构
【React】React-router路由
React-router路由
112 0
|
前端开发 JavaScript API
react-router与react-router-dom区别
React 是一个流行的JavaScript库,用于构建用户界面,而`React Router`是为 React 应用程序提供路由功能的常用解决方案之一。 React Router是一个用于构建路由的库,它提供了核心的API,例如`Router`、`Route`和`Switch`。它允许开发者将不同的组件与特定的URL路径相关联,并根据用户的导航选择加载相应的组件。React Router通过管理URL的变化,帮助我们在单页应用程序中实现导航和路由。 然而,React Router本身并没有提供直接操作DOM进行路由跳转的API。这就是`React Router DOM`的出现背景。
321 0
|
移动开发 JavaScript 前端开发
React-Router
React-Router
70 0
|
前端开发 JavaScript
react-router-dom 《react 前端》
要理解什么是 React-Router 就要先理解什么是 SPA (Single Page Application),也就是俗称的单页应用。 每个单页应用其实是一系列的 JS 文件,当用户请求网站时,网站返回一整个(或一系列)的 js 文件和 HTML,而当用户在某个页面内点击时,你需要告诉浏览器怎么加载另一个页面地址。单页应用中通常只有一个 index.html 文件的,所以浏览器自带的 <a> 链接 tag 并不能用来做单页应用的跳转,因此你需要一个在 React 中的路由实现。 然而 React 框架本身是不带路由功能的,因此如果你需要实现路由功能让用户可以在多个单页应用中跳转的话,
169 0
react-router-dom 《react 前端》
|
前端开发
在React中使用react-router-dom路由
使用React构建的单页面应用,要想实现页面间的跳转,首先想到的就是使用路由。在React中,常用的有两个包可以实现这个需求,那就是react-router和react-router-dom。本文主要针对react-router-dom进行说明。
在React中使用react-router-dom路由