Guest User

Untitled

a guest
Jan 23rd, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import Header from '../Header/Header';
  3.  
  4. class App extends Component {
  5. constructor(props) {
  6. super(props)
  7. this.state = {
  8. currentAdmin: false
  9. }
  10. }
  11. onSignIn = (login, password) => {
  12. if (login === 'admin' && password === '123') {
  13. this.setState({
  14. currentAdmin: true
  15. })
  16. }
  17. }
  18.  
  19. onSignout = () => {
  20. this.setState({
  21. currentAdmin: false,
  22. })
  23. }
  24. render() {
  25. return (
  26. <div>
  27. <Header
  28. onSignin={this.onSignIn.bind(this)}
  29. onSignout={this.onSignout.bind(this)}
  30. currentAdmin={this.state.currentAdmin}
  31. />
  32. </div>
  33. )
  34. }
  35. }
  36. export default App.js;
  37.  
  38. import React, {Component} from 'react';
  39. import './Header.css';
  40.  
  41. class Header extends Component {
  42. constructor(props) {
  43. super(props);
  44. this.handleSignin = this.handleSignin.bind(this);
  45. this.handleSignout = this.handleSignout.bind(this);
  46. }
  47.  
  48. handleSignin(e) {
  49. e.preventDefault();
  50. let login = this.refs.login.value;
  51. let password = this.refs.password.value;
  52. this.props.onSignin(login, password);
  53. }
  54.  
  55. handleSignout(e) {
  56. e.preventDefault();
  57. this.props.onSignout();
  58. }
  59.  
  60. render() {
  61. if (this.props.currentAdmin === false) {
  62. return (
  63. <div className='header'>
  64. <a href='google.com' className='logo'>ToDoApp</a>
  65. <form className='login' onSubmit={this.handleSignin}>
  66. <input type='text' placeholder='login' ref='login'/>
  67. <input type='password' placeholder='password' ref='password'/>
  68. <input type='submit' value='Log in'/>
  69. </form>
  70. </div>
  71. );
  72. } else {
  73. return (
  74. <div className='header'>
  75. <a href='google.com' className='logo'>ToDoApp</a>
  76. <form className='login' onSubmit={this.handleSignout}>
  77. <input type='submit' value='Log out'/>
  78. </form>
  79. </div>
  80. );
  81. }
  82. }
  83. }
  84.  
  85. export default Header;
Add Comment
Please, Sign In to add comment