index.js 1.42 KB
import React,{Component,lazy,Suspense} from 'react'
import {
    BrowserRouter as Router,
    Switch,
    Route,
  } from "react-router-dom";
import Load from "../component/loading/index.js";
//import Demo from "../view/index/index";
//const Demo = lazy(()=>import(/* webpackChunkName: "Index" */ "../view/index/index.js"))
import App from "./App.js";
let List = [ { path:"/",component:lazy(()=>import(/* webpackChunkName: "Index" */ "../view/index/index.js"))}];
class Routers extends Component{

state={
  List:[]
}
componentWillMount(){
  let List = [
    ...this.state.List,
    ...App //当前模块,含入口
  ]
  this.setState({List})
  
}

  render(){
    const {List} = this.state;
      return  <Router>
           <Switch>
               {
                List.map((item,ind)=>{
                  return <Route exact path={item.path} key={ind}
                            render={(props)=>(
                              <Suspense fallback={Load()}>
                                  <item.component {...props} />
                              </Suspense>
                            )}
                          >
                     
                  </Route>
                })
               }
               {/* <Route exact path="/">
                   <Suspense fallback={Load()}>
                     <Demo />
                   </Suspense>
               </Route> */}
           </Switch>
      </Router>
  }
}
export default Routers