Skip to content

Instantly share code, notes, and snippets.

@RenatoSiqueira
Created October 16, 2020 14:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RenatoSiqueira/f24caaa12547badecc619f6724ec307d to your computer and use it in GitHub Desktop.
Save RenatoSiqueira/f24caaa12547badecc619f6724ec307d to your computer and use it in GitHub Desktop.
Aluno Breno Cristovao - Exemplo de Prop Drilling
import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
const ListRevenda = (props) => {
console.log('ListRevenda Props: ', props)
return (
<div>
ListRevenda
<pre>
{
JSON.stringify(props, null, 2)
}
</pre>
</div>
)
}
export const PrivateRoute = ({ component: Component, roles , ...rest }) => {
console.log('PrivateRoute Roles: ', roles)
return (
<Route {...rest} render={props => {
const currentUser = 'MOCK: authenticationService.currentUserValue';
if (!currentUser) {
return "MOCK: Redireciona pro login"
}
// AQUI:
return <Component {...props} roles={roles} />
}} />
)
}
function App() {
return (
<Router>
<div className="wrapper">
<div id="content">
<div className="container-fluid">
<section name='content'>
<Switch>
<PrivateRoute path='/revenda' exact component={ListRevenda} roles={"[_LevelRoles.UsrRevenda]"} />
</Switch>
</section>
</div>
</div>
</div>
</Router>
);
}
export default App;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment