code_paster

Untitled

Jun 18th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react';
  2.  
  3.  
  4. class Register extends React.Component{
  5.   constructor(props){
  6.     super(props);
  7.     this.state = {
  8.       email: '',
  9.       password: '',
  10.       name: ''
  11.     }
  12.   }
  13.   onNameChange = (event) => {
  14.     this.setState({name: event.target.value})
  15.   }
  16.   onEmailChange = (event) => {
  17.     this.setState({email: event.target.value})
  18.   }
  19.   onPasswordChange = (event) => {
  20.     this.setState({password: event.target.value})
  21.   }
  22.   onSubmitSignIn = () => {
  23.     fetch('https://guarded-hollows-87945.herokuapp.com/register', {
  24.       method: 'post',
  25.       headers: {'Content-Type': 'application/json'},
  26.       body: JSON.stringify({
  27.         email: this.state.email,
  28.         password: this.state.password,
  29.         name: this.state.name
  30.       })
  31.     })
  32.     .then(response => response.json())
  33.     .then(user => {
  34.       if(user.id){
  35.         this.props.loadUser(user)
  36.         this.props.onRouteChange('home');
  37.  
  38.       }
  39.     })
  40.   }
  41.  
  42.   render() {
  43.     return(
  44.       <article className="br3 ba b--black-10 mv4 w-100 w-50-m w-25-l mw6 shadow-5 center">
  45.         <main className="pa4 black-80">
  46.           <div className="measure">
  47.             <fieldset id="sign_up" className="ba b--transparent ph0 mh0">
  48.               <legend className="f1 fw6 ph0 mh0">Register</legend>
  49.               <div className="mt3">
  50.                 <label className="db fw6 lh-copy f6" htmlFor="name">Name</label>
  51.                 <input
  52.                    className="pa2 input-reset ba bg-transparent hover-bg-black hover-white w-100"
  53.                    type="text"
  54.                    name="name"
  55.                    id="name"
  56.                    onChange={this.onNameChange}
  57.                    />
  58.               </div>
  59.               <div className="mt3">
  60.                 <label className="db fw6 lh-copy f6" htmlFor="email-address">Email</label>
  61.                 <input
  62.                   className="pa2 input-reset ba bg-transparent hover-bg-black hover-white w-100"
  63.                   type="email"
  64.                   name="email-address"
  65.                   id="email-address"
  66.                   onChange={this.onEmailChange}
  67.  
  68.                  />
  69.               </div>
  70.               <div className="mv3">
  71.                 <label className="db fw6 lh-copy f6" htmlFor="password">Password</label>
  72.                 <input
  73.                   className="b pa2 input-reset ba bg-transparent hover-bg-black hover-white w-100"
  74.                    type="password"
  75.                    name="password"
  76.                    id="password"
  77.                    onChange={this.onPasswordChange}
  78.                   />
  79.               </div>
  80.             </fieldset>
  81.             <div className="">
  82.               <input
  83.                 onClick={this.onSubmitSignIn}
  84.                 className="b ph3 pv2 input-reset ba b--black bg-transparent grow pointer f6 dib"
  85.                  type="submit"
  86.                   value="Register" />
  87.             </div>
  88.  
  89.           </div>
  90.         </main>
  91.       </article>
  92.     );
  93.   }
  94.  
  95. }
  96.  
  97. export default Register;
Add Comment
Please, Sign In to add comment