private-route-role
Made with create-react-library
Install
npm install --save @neuroid/private-route-role
Usage
index.js
---------
import './index.css'
import App from './App'
import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter as Router } from 'react-router-dom'
ReactDOM.render(
<Router>
<App />
</Router>,
document.getElementById('root')
)
routes.js
----------
import ScreenA from '../screens/A.screen'
import ScreenB from '../screens/B.screen'
const routes = [
{
path: '/screenA',
name: 'ScreenA',
component: ScreenA,
roles: ['PUBLIC']
},
{
path: '/screenB',
name: 'ScreenB',
component: ScreenB,
roles: ['USER']
}
]
export default routes
App.js
---------
import { Redirect, Route, Switch } from 'react-router-dom'
import PrivateRoute from '@neuroid/private-route-role'
import React from 'react'
import routes from './routes'
const App = () => {
const redirectPath = '/screenA'
const role = 'PUBLIC'
return (
<PrivateRoute
routeComponent={Route}
redirectComponent={Redirect}
routes={routes}
redirectPath={redirectPath}
role={role}
switchComponent={Switch}
/>
)
}
export default App
License
MIT © neuroidsolutions