content.jsx 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import React, { Component } from 'react';
  2. import '../content.less';
  3. import './content.less';
  4. import LeftTab from './leftTab';
  5. class Content extends Component {
  6. constructor() {
  7. super();
  8. this.state = {
  9. loading: false,
  10. component: <div></div>,
  11. };
  12. }
  13. componentWillMount() {
  14. if (window.location.hash) {
  15. this.getKey(window.location.hash.substr(1));
  16. } else {
  17. this.getKey("star");
  18. };
  19. }
  20. getKey(key) {
  21. switch (key) {
  22. case 'star':
  23. require.ensure([], () => {
  24. const Star = require('./bigShot/star').default;
  25. this.setState({
  26. component: <Star />
  27. });
  28. });
  29. break;
  30. case 'lecture':
  31. require.ensure([], () => {
  32. const Lecture = require('./bigShot/lecture').default;
  33. this.setState({
  34. component: <Lecture />
  35. });
  36. });
  37. break;
  38. case 'banner':
  39. require.ensure([], () => {
  40. const Banner = require('./bannerManage/bannerManage').default;
  41. this.setState({
  42. component: <Banner />
  43. });
  44. });
  45. break;
  46. case 'flash':
  47. require.ensure([], () => {
  48. const News = require('./news/news').default;
  49. this.setState({
  50. component: <News newsType={1} />
  51. });
  52. });
  53. break;
  54. case 'nationalPolicy':
  55. require.ensure([], () => {
  56. const News = require('./news/news').default;
  57. this.setState({
  58. component: <News newsType={4} />
  59. });
  60. });
  61. break;
  62. case 'localPolicy':
  63. require.ensure([], () => {
  64. const News = require('./news/news').default;
  65. this.setState({
  66. component: <News newsType={5} />
  67. });
  68. });
  69. break;
  70. case 'jitao':
  71. require.ensure([], () => {
  72. const News = require('./news/news').default;
  73. this.setState({
  74. component: <News newsType={3} />
  75. });
  76. });
  77. break;
  78. case 'contact':
  79. require.ensure([], () => {
  80. const News = require('./news/news').default;
  81. this.setState({
  82. component: <News newsType={2} />
  83. });
  84. });
  85. break;
  86. case 'activity':
  87. require.ensure([], () => {
  88. const Activity = require('./activity/activity').default;
  89. this.setState({
  90. component: <Activity />
  91. });
  92. });
  93. break;
  94. };
  95. window.location.hash = key;
  96. }
  97. render() {
  98. return (
  99. <div className="manage-content">
  100. <LeftTab handlekey={this.getKey.bind(this)} />
  101. <div className="content-right">
  102. {this.state.component}
  103. </div>
  104. </div>
  105. )
  106. }
  107. }
  108. export default Content;