content.jsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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',
  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. };
  39. window.location.hash = key;
  40. }
  41. render() {
  42. return (
  43. <div className="manage-content">
  44. <LeftTab handlekey={this.getKey.bind(this)} />
  45. <div className="content-right">
  46. <this.state.component />
  47. </div>
  48. </div>
  49. )
  50. }
  51. }
  52. export default Content;