import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router'; import components from '../component/index'; export default class App extends Component { static propTypes = { params: PropTypes.object, location: PropTypes.object, } renderList() { const items = Object.keys(components).map(key => { const group = components[key]; const list = Object.keys(group).map(c => { const entry = group[c]; return (
  • {c}
  • ); }); return (

    {key}

    ); }); return (

    components

    {items}
    ); } renderPageDetail() { const { params, location } = this.props; const { query } = location; const { group, page } = query; return (

    Back to homepage

    {page}

    {components[group] && components[group][page] ? React.createElement(components[group][page]) : null}
    ); } render() { const { location, params } = this.props; if (!location.query || !location.query.page) { return this.renderList(); } return this.renderPageDetail(); } };