Guest User

Untitled

a guest
Nov 18th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. import React, {Component} from "react";
  2.  
  3.  
  4. const Containers = () => (
  5. <div className="containers">Containers</div>
  6. );
  7.  
  8. class ComponentFactory extends Component {
  9.  
  10. constructor(props) {
  11. super(props);
  12. this.state = {
  13. RouteComponent: Containers
  14. };
  15.  
  16. }
  17.  
  18. componentWillMount() {
  19.  
  20. const name = this.props.page;
  21.  
  22.  
  23. import ('../pages/' + name + '/index')
  24. .then(RouteComponent => {
  25. return this.setState({RouteComponent: RouteComponent.default})
  26.  
  27. })
  28. .catch(err => console.log('Failed to load Component', err))
  29. }
  30.  
  31.  
  32. render() {
  33. const {RouteComponent} = this.state;
  34. return ( <RouteComponent {...this.props}/> );
  35. }
  36. }
  37.  
  38. export default ComponentFactory;
  39. ---------
  40.  
  41. <Router>
  42.  
  43. <Route path="/login" component={Login} {...this.props} />
  44. <Layout>
  45.  
  46.  
  47. <Route path="/panel/:page"
  48. render={rest => <ComponentFactory
  49. page={rest.match.params.page}
  50. {...rest}
  51. />}/>
  52.  
  53.  
  54. </Layout>
  55.  
  56. </Router>
Add Comment
Please, Sign In to add comment