react路由权限设置

参考:https://tylermcginnis.com/react-router-protected-routes-authentication/ 解决路由私有方法
创建PrivateRoute.js文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import React from 'react'
import { Route, Redirect } from 'react-router-dom'
import { connect } from 'react-redux'
import PropTypes from 'prop-types'
 
const PrivateRoute = ({ component: Component, auth, ...rest }) => (
    <Route
        {...rest}
        render={props => auth.isAuthenticated === true ? <Component {...props} /> : <Redirect to='/login' />}
    />
)
 
PrivateRoute.prototype = {
    auth: PropTypes.object.isRequired
}
//redux 拿取判别登陆状态的值
const mapStateToProps = state => ({
    auth: state.auth
})
 
export default connect(mapStateToProps, {})(PrivateRoute)

使用方式

//私有路由配置
import PrivateRoute from './common/PrivateRoute'


//需要授权的页面
 <Switch>
                <PrivateRoute path="/xxx" component={xxx} exact />
  </Switch>

 

  

posted @ 2020-06-26 19:52  心之所指,行之所至  阅读(2164)  评论(0)    收藏  举报
编辑推荐:
· 为什么说方法的参数最好不要超过4个?
· C#.Net 筑基-优雅 LINQ 的查询艺术
· 一个自认为理想主义者的程序员,写了5年公众号、博客的初衷
· 大数据高并发核心场景实战,数据持久化之冷热分离
· 运维排查 | SaltStack 远程命令执行中文乱码问题
阅读排行:
· 博客园众包平台:诚征3D影像景深延拓实时处理方案(预算8-15万)
· Cursor生成UI,加一步封神
· 为什么说方法的参数最好不要超过4个?
· 发布一个小功能,通过 markdown 图片语法嵌入B站视频
· Spring AI Alibaba 1.0 正式发布!核心特性速览+老项目升级指南
点击右上角即可分享
微信分享提示