Advertisement
orlandolabz

Untitled

Jan 15th, 2019
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, {Component} from 'react'
  2. import {BrowserRouter, Redirect, Switch, Route} from 'react-router-dom'
  3.  
  4. import Navbar from './components/Navbar'
  5. import Home from './components/Home'
  6. import Contact from './components/Contact'
  7. import NoPage from './components/NoPage'
  8. import Member from './components/Member'
  9. import FormLogin from './components/FormLogin'
  10. import Error from './components/Error'
  11.  
  12. class Login extends Component {
  13.     constructor(props) {
  14.         super(props);
  15.         this.state = {
  16.             isLogin: false,
  17.             username: 'user',
  18.             password: 'password',
  19.             showError: false,
  20.          }
  21.     }
  22.    
  23.     handleLogin = (username, password) => {
  24.         console.log('Login : '+ username, password);
  25.         if(username === this.state.username && password === this.state.password) {
  26.             this.setState({
  27.                 isLogin: true,
  28.                 showError: false
  29.             })
  30.         }else{
  31.             this.setState({
  32.                 showError: true
  33.             })
  34.             console.log('Login Gagal');
  35.         }
  36.     }
  37.    
  38.     handleLogout = () => {
  39.         console.log('logout')
  40.         this.setState({
  41.             isLogin: false
  42.         })
  43.         // window.location.href="/";
  44.         return <Redirect to="/" />
  45.     }
  46.     render() {
  47.         let mainStyle = {
  48.             border: '1px solid #ccc',
  49.             textAlign: 'center',
  50.             paddingBottom: '20px',
  51.             width:'77%',
  52.             margin: '10px auto',
  53.         }
  54.         return (
  55.             <BrowserRouter>
  56.                 <div style={mainStyle}>
  57.                     <h1>Login with React</h1>
  58.                     <Navbar></Navbar>
  59.                     <Switch>
  60.                         <Route path="/" component={Home} exact/>
  61.                         <Route path="/contact" component={Contact} />
  62.                         <Route path="/member" render={()=> {
  63.                             return this.state.isLogin ?
  64.                                 <Member handleLogout={this.handleLogout} username={this.state.username} /> :
  65.                                 <FormLogin handleLogin={this.handleLogin}/>
  66.                         }}/>
  67.                         <Route component={NoPage} />
  68.                     </Switch>
  69.                     { this.state.showError ? <Error /> : ''}
  70.                 </div>
  71.             </BrowserRouter>
  72.          );
  73.     }
  74. }
  75.  
  76. export default Login;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement