React-Router PrivateRoute 不工作。我错过了什么?

React-Router PrivateRoute is not working. What am I missing?

我的 react-redux 专用路由器不工作。 它只是向我显示我尝试访问的路线的空白页。 我的状态没有在 Redux Dev Tools 中加载。 会不会也是HashRouter的问题? 我的 PrivateRoute 组件:

import React from "react";
import { connect } from "react-redux";
import {Router, Redirect, withRouter } from "react-router-dom";
import PropTypes from 'prop-types';
class PrivateRoute extends React.Component {
  static propTypes = {
    isAuthenticated: PropTypes.bool,
  }
  isLoggedin = () => {
    return this.props.isAuthenticated;
  };

  render = () => {
    let { component: Component, ...rest } = this.props;

    return (
      <Router
        {...rest}
        render={(props) =>
          this.isLoggedin() ? (
            <Component {...props} />
          ) : props.location.pathname === "/" ? null : (
            <Redirect to="/" />
          )
        }
        />
    );
  };
}

const mapStateToProps = (state) => ({
    auth: state.auth,
    isAuthenticated: state.auth.isAuthenticated
})

export default withRouter(connect(mapStateToProps, null)(PrivateRoute));

我正在包装我的路线以使其私有化的应用程序:

import {Provider} from 'react-redux';
import store from './store'
import {loadUser} from './actions/authActions'
import PrivateRoute from './components/auth/PrivateRoute'


class App extends React.Component {
    componentDidMount(){
        store.dispatch(loadUser())
    }

    render(){
        return (
            <Provider store={store}>
                <HashRouter basename="/">
                    <Navbar />
                    <Route exact  path="/" component={Home}/>
                    <PrivateRoute path="/aeons" component={AeonsList} />
                    <PrivateRoute path="/carrefours" component={CarrefoursList} />
                    <PrivateRoute path="/farmers" component={FarmersList} />
                    <PrivateRoute path="/foodhalls" component={FoodhallsList} />
                    <PrivateRoute path="/grands" component={GrandsList} />
                    <PrivateRoute path="/heros" component={HerosList} />
                    <PrivateRoute path="/primos" component={PrimosList} />
                    <PrivateRoute path="/ranchos" component={RanchsList} />
                </HashRouter>
            </Provider>

        )
    }
}

export default App;

您需要在定义 privateRoute 组件时导入 Route,而不是 Router

import {Route } from "react-router-dom";

勾选this