import React, { Component } from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import { Route, Redirect, withRouter } from "react-router-dom"; class PrivateRoute extends Component { render() { return !this.props.progress ? ( this.props.isAuthenticated ? this.props.children : (() => { return ( ); })() } /> ) : null; } } PrivateRoute.propTypes = { isAuthenticated: PropTypes.bool, progress: PropTypes.bool.isRequired, }; const mapStateToProps = (state) => ({ isAuthenticated: state.auth.isAuthenticated, progress: state.auth.progress, }); export default connect(mapStateToProps, null)(withRouter(PrivateRoute));