全栈开发React-私有路由
2024-09-02 18:22:33
demo
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.propTypes = {
auth: PropTypes.object.isRequired
}
const mapStateToProps = state => ({
auth: state.auth,
})
export default connect(mapStateToProps)(PrivateRoute);
据用户的auth状态,我们将渲染Redirect
或渲染组件
以下是我们PrivateRoute
组件的要求。
- 它与<Route />具有相同的API。
- 它呈现<Route />并将所有道具传递给它。
- 它检查用户是否经过身份验证,如果是,则呈现“组件”道具。如果没有,它会将用户重定向到/ login。
最新文章
- ThreadLocal简单理解
- 【Network】OVS基础知识
- Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”
- mysql排序时索引的注意事项
- hdu 1020 Encoding
- [转]正则表达式相关:C# 抓取网页类(获取网页中所有信息)
- 控制所生成的servlet的结构: JSP page指令
- C# winform Datagridview 标题居中
- Nginx rewrite 规则 与 proxy_pass 实现
- MySql Table错误:is marked as crashed and last (automatic?) 和 Error: Table ";mysql";.";innodb_table_stats"; not found
- centos下-MariaDB的安装
- 【原创】大数据基础之Spark(7)spark读取文件split过程(即RDD分区数量)
- Hdoj 4540.威威猫系列故事——打地鼠 题解
- 数据库设计理论与实践&#183;<;三>;物理设计
- 2019清明期间qbxt培训qaq
- InnoDB锁笔记
- C++.可变参数_ZC测试
- security/pam_appl.h:没有那个文件或目录
- MATLAB出现:错误使用 xlsread (line 251)
- 运行inetmgr提示“找不到文件”无法打开IIS管理器的解决办法