Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, {Component} from "react";
- const Containers = () => (
- <div className="containers">Containers</div>
- );
- class ComponentFactory extends Component {
- constructor(props) {
- super(props);
- this.state = {
- RouteComponent: Containers
- };
- }
- componentWillMount() {
- const name = this.props.page;
- import ('../pages/' + name + '/index')
- .then(RouteComponent => {
- return this.setState({RouteComponent: RouteComponent.default})
- })
- .catch(err => console.log('Failed to load Component', err))
- }
- render() {
- const {RouteComponent} = this.state;
- return ( <RouteComponent {...this.props}/> );
- }
- }
- export default ComponentFactory;
- ---------
- <Router>
- <Route path="/login" component={Login} {...this.props} />
- <Layout>
- <Route path="/panel/:page"
- render={rest => <ComponentFactory
- page={rest.match.params.page}
- {...rest}
- />}/>
- </Layout>
- </Router>
Add Comment
Please, Sign In to add comment