Advertisement
orlandolabz

Untitled

Jan 16th, 2019
193
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.             justLoggedOut: false,
  21.          }
  22.     }
  23.    
  24.     handleLogin = (username, password) => {
  25.         console.log('Login : '+ username, password);
  26.         if(username === this.state.username && password === this.state.password) {
  27.             this.setState({
  28.                 isLogin: true,
  29.                 showError: false
  30.             })
  31.         }else{
  32.             this.setState({
  33.                 showError: true
  34.             })
  35.             console.log('Login Gagal');
  36.         }
  37.     }
  38.    
  39.     handleLogout = () => {
  40.         console.log('logout')
  41.         this.setState({
  42.             isLogin: false,
  43.             justLoggedOut: true,
  44.         })
  45.         // return <Redirect to="/" />
  46.     }
  47.     handleJustLoggedOut = () => {
  48.         // this.setState({
  49.         //     justLoggedOut: false
  50.         // })
  51.         console.log(123);
  52.     }
  53.     render() {
  54.         // return this.state.isLogin ?
  55.         let mainStyle = {
  56.             border: '1px solid #ccc',
  57.             textAlign: 'center',
  58.             paddingBottom: '20px',
  59.             width:'77%',
  60.             margin: '10px auto',
  61.         }
  62.         return (
  63.             <BrowserRouter>
  64.                 <div style={mainStyle}>
  65.                     <h1>Login with React</h1>
  66.                     <Navbar></Navbar>
  67.                     <Switch>
  68.                         <Route path="/" render={() => {
  69.                             this.setState({
  70.                                 justLoggedOut: false
  71.                             })
  72.                             return (<Home />)
  73.                         }} exact/>
  74.                         <Route path="/contact" component={Contact} />
  75.                         <Route path="/member" render={()=> (
  76.                             this.state.isLogin ?
  77.                                 <Member handleLogout={this.handleLogout} username={this.state.username} /> :
  78.                                 this.state.justLoggedOut ? <Redirect to="/" /> :
  79.                                     <FormLogin handleLogin={this.handleLogin}/>
  80.                         )}/>
  81.                         <Route component={NoPage} />
  82.                     </Switch>
  83.                     { this.state.showError ? <Error /> : ''}
  84.                 </div>
  85.             </BrowserRouter>
  86.          );
  87.     }
  88. }
  89.  
  90. export default Login;
  91.  
  92. {/* <Route exact path="/" render={() => (loggedIn ? (<Redirect to="/dashboard" />) : (<PublicHomePage />))} /> */}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement