MiddlePanel.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import React, { Component } from "react";
  2. import { render } from "react-dom";
  3. import ImageList from './imageList';
  4. class MiddlePanel extends Component {
  5. constructor() {
  6. super();
  7. this.state = {
  8. name: "React",
  9. showHideDemo1: false,
  10. showHideDemo2: false,
  11. showHideDemo3: false
  12. };
  13. this.hideComponent = this.hideComponent.bind(this);
  14. }
  15. hideComponent(name) {
  16. console.log(name);
  17. switch (name) {
  18. case "showHideDemo1":
  19. this.setState({ showHideDemo1: !this.state.showHideDemo1 });
  20. break;
  21. case "showHideDemo2":
  22. this.setState({ showHideDemo2: !this.state.showHideDemo2 });
  23. break;
  24. case "showHideDemo3":
  25. this.setState({ showHideDemo3: !this.state.showHideDemo3 });
  26. break;
  27. }
  28. }
  29. render() {
  30. const { showHideDemo1, showHideDemo2, showHideDemo3 } = this.state;
  31. return (
  32. <div>
  33. {showHideDemo1 && <ImageList />}
  34. {showHideDemo2 && <ImageList />}
  35. {showHideDemo3 && <ImageList />}
  36. <div>
  37. <button onClick={() => this.hideComponent("showHideDemo1")}>
  38. Click to hide Demo1 component
  39. </button>
  40. <button onClick={() => this.hideComponent("showHideDemo2")}>
  41. Click to hide Demo2 component
  42. </button>
  43. <button onClick={() => this.hideComponent("showHideDemo3")}>
  44. Click to hide Demo3 component
  45. </button>
  46. </div>
  47. </div>
  48. );
  49. }
  50. }
  51. export default MiddlePanel;