import React, { Component } from 'react'; import { Link } from 'react-router-dom'; import components from '../component/index'; class App extends Component { renderList() { const items = Object.keys(components).map(key => { const group = (components as any)[key]; const list = Object.keys(group).map((c) => { return (
  • {c}
  • ); }); return (

    {key}

    ); }); return (

    components

    {items}
    ); } renderPageDetail(group: string, page: string) { return (

    Back to homepage

    {page}

    { (components as any)[group] && (components as any)[group][page] ? React.createElement((components as any)[group][page]) : null }
    ); } render() { const { location } = this.props; const { search } = location; const group = /group=([a-zA-Z]+)/.exec(search); const component = /component=([a-zA-Z]+)/.exec(search); if (group && group.length === 2 && component && component.length === 2) { return this.renderPageDetail(group[1], component[1]); } return this.renderList(); } } export default App;