content.jsx 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import React, { Component } from 'react';
  2. import '../content.less';
  3. import LeftTab from './leftTab';
  4. class Content extends Component {
  5. constructor() {
  6. super();
  7. this.state = {
  8. loading: false,
  9. component: 'div'
  10. };
  11. }
  12. componentWillMount() {
  13. if (window.location.hash) {
  14. this.getKey(window.location.hash.substr(1));
  15. } else {
  16. this.getKey("normal");
  17. };
  18. }
  19. getKey(key) {
  20. switch (key) {
  21. case 'normal':
  22. require.ensure([], () => {
  23. const Normal = require('./normal').default;
  24. this.setState({
  25. component: Normal
  26. });
  27. });
  28. break;
  29. case 'collection':
  30. require.ensure([], () => {
  31. const Collection = require('./collection').default;
  32. this.setState({
  33. component: Collection
  34. });
  35. });
  36. break;
  37. case 'orderList':
  38. require.ensure([], () => {
  39. const OrderList = require('./orderList').default;
  40. this.setState({
  41. component: OrderList
  42. });
  43. });
  44. break;
  45. };
  46. window.location.hash = key;
  47. }
  48. render() {
  49. return (
  50. <div className="acc-content">
  51. <LeftTab handlekey={this.getKey.bind(this)} />
  52. <div className="content-right">
  53. <this.state.component />
  54. </div>
  55. </div>
  56. )
  57. }
  58. }
  59. export default Content;