/// import * as React from 'react'; import {Layout, Menu} from '@native-ads/antd'; import './App.css'; import {NavLink, RouteComponentProps} from 'react-router-dom'; import {ComponentPreview} from './preview/ComponentPreview'; import {GuidePreview} from './preview/GuidePreview'; import guideList from '../guide/index'; import docList from '../components/doc'; import demoList from '../demo/index'; import * as _ from 'lodash'; const { Sider, Content } = Layout; const Item = Menu.Item; export interface AppStateInterface { activeMenu: string; activeKey: string; } export interface AppProps { activeKey: string; group: string; } class App extends React.Component, AppStateInterface> { constructor(props: RouteComponentProps) { super(props); this.state = { activeMenu: '', activeKey: 'HelloWorld' }; } render() { let match = this.props.match; let params = match.params; let activeKey = params.activeKey || 'HelloWorld'; let group = params.group; let content =
; let menu =
; // 文档渲染 if (group === 'basicGuide') { // 基础教程 let html = guideList['basicGuide'][activeKey]; if (!html) { console.error('invalid activeKey'); return
; } let markdown = html.md; content = ; menu = ( { _.map(guideList['basicGuide'], (info, name) => { return {info.title} ; }) } ); } else if (group === 'advancedGuide') { // 高级教程 let html = guideList['advancedGuide'][activeKey]; if (!html) { console.error('invalid activeKey'); return
; } let markdown = html.md; content = ; menu = ( { _.map(guideList['advancedGuide'], (info, name) => { return {info.title} ; }) } ); } else if (group === 'component') { // 组件渲染 content = ; menu = ( { _.map(docList, (info, name) => { return {name.substring(0, 1).toUpperCase() + name.substring(1)} ; }) } ); } else if (group === 'demo') { // 样例渲染 let html = demoList[activeKey]; if (!html) { console.error('invalid activeKey'); return
; } content = ; menu = ( { _.map(demoList, (info, name) => { return {info.title} ; }) } ); } return ( {menu} {content} ); } } export default App;