React-web-redux Auth с боковым представлением после входа в систему

Лучше использовать scanf ("% [^\n]", str) в c ++, чем cin.ignore () после cin >> statement.Чтобы сделать это сначала, вам нужно включить & lt; cstdio>.

0
задан trincot 5 March 2019 в 21:33
поделиться

2 ответа

попытаться редактировать PrivateRoute.js

if (localStorage.getItem('user')) {
  return <Route {...rest} render={props => <Component {...props} />} />
} else {
  return <Redirect to={{ pathname: '/login', state: { from: 
    props.location } }} />
}

Это работает?

0
ответ дан kkangil 5 March 2019 в 21:33
поделиться

моя ссылка на навигацию в меню:

 <NavLink to="/agenda">
   <Title>Agenda</Title>
 </NavLink>

маршруты

import React from 'react';

import styled from 'styled-components';

import { BrowserRouter, Route, Switch } from 'react-router-dom';
import { PrivateRoute, PublicRoute } from './utils/routeAuth';

import Dashboard from './pages/Dashboard';
import Login from './pages/Login';
import Menu from './components/Menu';

const Body = styled.div`
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #edeef0;
  overflow: auto;
`;

const Routes = () => (
  <BrowserRouter>
    <Switch>
      <PublicRoute path="/login" component={Login} />
      <PrivateRoute component={DefaultContainer} />
    </Switch>
  </BrowserRouter>
);

const NotFound = () => <div>not found</div>;

const DefaultContainer = () => (
  <Body>
    <Route component={Menu} />

    <Route path="/" exact component={Dashboard} />
    <Route path="/agenda" component={Dashboard} />
    <Route path="/alunos" component={Dashboard} />
    <Route path="/turmas" component={Dashboard} />
    <Route component={NotFound} />
  </Body>
);

export default Routes;

использует / routeAuth

import React from 'react';

import { Route, Redirect } from 'react-router-dom';

import { getCookie } from './cookie';

export const PrivateRoute = ({ component: Component, ...rest }) => {
  const isAuthenticated = getCookie('token');

  return (
    <Route
      {...rest}
      render={props => (isAuthenticated ? (
        <Component {...props} />
        ) : (
          <Redirect to={{ pathname: '/login', state: { from: props.location } }} />
        ))
      }
    />
  );
};

export const PublicRoute = ({ component: Component, ...rest }) => {
  const isAuthenticated = getCookie('token');

  if (isAuthenticated) {
    return <Redirect to="/" />;
  }

  return <Route {...rest} component={Component} />;
};

для более подробной информации: страница авторизации , navlink

0
ответ дан Patrick Battisti 5 March 2019 в 21:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: