Guest User

Untitled

a guest
Aug 1st, 2018
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. import React from 'react';
  2. import InputItems from '../InputItems';
  3. import Header from '../Header';
  4. import Footer from '../Footer';
  5. import './register.css';
  6.  
  7. class Register extends React.Component {
  8. state = {
  9. firstName: '',
  10. lastName: '',
  11. email: '',
  12. userName: '',
  13. password: '',
  14. };
  15.  
  16. onChange = (e) => {
  17. const { name, value } = e.target;
  18. this.setState({
  19. [name]: value,
  20. });
  21. }
  22.  
  23. onSubmit = () => {
  24. const {
  25. firstName, lastName, email, userName, password,
  26. } = this.state;
  27. const payload = {
  28. firstName,
  29. lastName,
  30. email,
  31. userName,
  32. password,
  33. };
  34. const request = {
  35. method: 'POST',
  36. body: JSON.stringify(payload),
  37. };
  38. fetch('/register', request)
  39. .then((res) => {
  40. const code = res.status;
  41. res.json().then((reply) => {
  42. if (code !== 200) {
  43. window.alert(reply.message);
  44. } else {
  45. window.alert(reply.message);
  46. this.props.history.push('/login');
  47. }
  48. });
  49. });
  50. }
  51.  
  52. render() {
  53. const {
  54. firstName, lastName, email, userName, password,
  55. } = this.state;
  56. const { onChange, onSubmit } = this;
  57. return (
  58. <div className="App-main">
  59. <Header history={this.props.history} />
  60. <div className="login">
  61. <div className="register-border">
  62. <div className="login-login">
  63. Register
  64. </div>
  65. <div className="login-inputItems">
  66. <InputItems
  67. name="firstName"
  68. value={firstName}
  69. title="First name"
  70. type="text"
  71. onChange={onChange}
  72. />
  73. <InputItems
  74. name="lastName"
  75. value={lastName}
  76. title="Last name"
  77. type="text"
  78. onChange={onChange}
  79. />
  80. <InputItems
  81. name="email"
  82. value={email}
  83. title="email"
  84. type="text"
  85. onChange={onChange}
  86. />
  87. <InputItems
  88. name="userName"
  89. value={userName}
  90. title="User name"
  91. type="text"
  92. onChange={onChange}
  93. />
  94. <InputItems
  95. name="password"
  96. value={password}
  97. title="Password"
  98. type="password"
  99. onChange={onChange}
  100. />
  101. <button type="button" onClick={onSubmit} className="login-submit">Submit</button>
  102. </div>
  103. </div>
  104. </div>
  105. <Footer history={this.props.history} />
  106. </div>
  107. );
  108. }
  109. }
  110.  
  111. export default Register;
Add Comment
Please, Sign In to add comment