Closed kairon-v closed 4 years ago
Exemplo de rota com restrição de acesso:
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { Route, Redirect } from 'react-router-dom';
class PrivateRoute extends Component {
render() {
const { component: Component, ...rest } = this.props;
return (
<Route
{...rest}
render={props => this.props.authenticated ? (
<Component {...props} />
) : (
<Redirect
from={this.props.location.pathname}
to="/login"
/>
)}
/>
)
}
}
const mapStateToProps = (state) => ({
authenticated: state.session.authenticated
});
export default connect(mapStateToProps)(PrivateRoute);
No arquivo de rotas, no lugar de chamar o <Route .... /> você chamará <PrivateRoute ... />
Exemplo de rota com restrição de acesso:
import React, { Component } from 'react'; import { connect } from 'react-redux'; import { Route, Redirect } from 'react-router-dom'; class PrivateRoute extends Component { render() { const { component: Component, ...rest } = this.props; return ( <Route {...rest} render={props => this.props.authenticated ? ( <Component {...props} /> ) : ( <Redirect from={this.props.location.pathname} to="/login" /> )} /> ) } } const mapStateToProps = (state) => ({ authenticated: state.session.authenticated }); export default connect(mapStateToProps)(PrivateRoute);
No arquivo de rotas, no lugar de chamar o <Route .... /> você chamará <PrivateRoute ... />
Genial, não tinha pensado nisso.
Descrição
Explicar as mudanças feitas nesse pull request, referenciando as issues que foram resolvidas com esse pull request e os responsáveis por ela.
Checklist