Advertisement
Guest User

Untitled

a guest
May 31st, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react';
  2. import { Redirect } from 'react-router-dom';
  3. import axios from 'axios';
  4.  
  5. export default class Login extends React.Component {
  6.     constructor() {
  7.         super();
  8.  
  9.         this.state = {
  10.             logged: false
  11.         }
  12.    
  13.         this.handleSubmit = this.handleSubmit.bind(this);
  14.         this.login = this.login.bind(this);
  15.     }
  16.  
  17.     handleSubmit(e) {
  18.         e.preventDefault();
  19.  
  20.         this.login(this.inputUsername.value, this.inputPassword.value);
  21.     }
  22.  
  23.     async login(username, password) {
  24.         try {
  25.             const response = await axios.post('/api/login', {
  26.                 username: username,
  27.                 password: password 
  28.             });
  29.  
  30.             localStorage.setItem("token", response.data.error.token);
  31.             this.setState({
  32.                 logged: true
  33.             });
  34.         } catch(e) {
  35.             console.log(e.response);
  36.         }
  37.     }
  38.  
  39.     render() {
  40.  
  41.         const logged = this.state.logged;
  42.         console.log(logged);
  43.         if(logged) {
  44.             return <Redirect to="/"/>;
  45.         }
  46.  
  47.         return (
  48.             <div>
  49.                 <form onSubmit={this.handleSubmit}>
  50.                     <label htmlFor="username">Username</label>
  51.                     <input type="text" id="usernme" ref={el => this.inputUsername = el}/>
  52.                     <label htmlFor="password">Password</label>
  53.                     <input type="text" id="password" ref={el => this.inputPassword = el}/>
  54.                     <button type="submit">Log In</button>
  55.                 </form>
  56.             </div>
  57.         );
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement