Реагировать на частные маршруты - PullRequest
0 голосов
/ 09 февраля 2020

В настоящее время я пытаюсь выяснить, почему это не работает, не нашел и ищу помощь. Когда я отключен, я могу go на панели инструментов (PrivateRoute). Я записал токен на консоль, и он должен быть похож на false, когда я не подключен, но он по-прежнему позволяет мне go на частные маршруты

const App = () => {
  const [token, setToken] = useState(false);
  const [isLoading, setIsLoading] = useState(true);
  useEffect(() => {
    fetch("/token")
      .then(res => res.json())
      .then(json => {
        setToken(json.authed);
        console.log(token)
        setIsLoading(false);
      })
      .catch(err => {
        console.log(err);
      });
  }, []);
  if (isLoading) {
    return <div>Loading....</div>;
  } else {
    console.log(token);
    return (
      <div>
        <Router history={history}>
          <Switch>
            <Route path="/" component={MenuBar} />
            <Route path="/login" component={Login} />
            <ProtectedRoute
              path="/dashboard"
              auth={token}
              component={Dashboard}
            />
          </Switch>
        </Router>
      </div>
    );
  }
};

const Dashboard = () => {
  return <div>Dashboard</div>;
};

const Login = () => {
  return (
    <div>
      <h1>Login</h1>
    </div>
  );
};

const ProtectedRoute = ({ auth, component: Component, ...rest }) => (
  <Route
    {...rest}
    render={props =>
      auth ? <Component {...props} /> : <Redirect to="/login" />
    }
  />
);

export default App;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...