Advertisement
Guest User

Untitled

a guest
May 27th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. import React from 'react';
  2. import {render} from 'react-dom';
  3.  
  4. const AuthenticationHOC = (Component) => class extends React.Component {
  5.  
  6. constructor(props){
  7. super(props);
  8.  
  9. this.state = {
  10. currentUser: {},
  11. isAuthenticating: false,
  12. isLoading: false
  13. }
  14.  
  15. this.login = this.login.bind(this);
  16. }
  17.  
  18. login (e){
  19. e.preventDefault();
  20. const username = e.target.username.value;
  21. const password = e.target.password.value;
  22. console.log(username, password);
  23. this.setState({currentUser: {username, password}});
  24. }
  25.  
  26. render() {
  27. return <Component {...this.state} login={this.login}/>
  28. }
  29. }
  30.  
  31. const AuthenticationCompnent = (props) => {
  32.  
  33. return (
  34. <div>
  35. <p> {props.currentUser.username} </p>
  36. <p> {props.currentUser.password} </p>
  37.  
  38. <form onSubmit={props.login}>
  39. <div>
  40. Username <input name="username"/>
  41. </div>
  42. <div>
  43. Password <input name="password" type="password"/>
  44. </div>
  45. <div>
  46. <button type="submit"> Login </button>
  47. </div>
  48. </form>
  49. </div>);
  50. }
  51.  
  52. const DecoratedAuthComponent = AuthenticationHOC(AuthenticationCompnent);
  53.  
  54. render(<DecoratedAuthComponent />, document.querySelector('#app'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement