1:BrowserRouter里面嵌套HashRouter时,HasRouter路径从“/”开始
<HashRouter>
<Switch>
{/*HashRouter 为神魔不能重定向*/}
<Redirect to={{ pathname: '/son1' }} />
{/* <Redirect exact from={"/content"} to={'/content/son1'} />
<Redirect exact from={"/"} to={'/content/son1'} />*/}
<Route exact path="/"> // 这个地方直接用/就可以访问到Son1
<Son1 />
</Route>
<Route path="/son2">
<Son2 />
</Route>
<Route render={ ()=> { return <div>content找不到子路由</div> } }/>
</Switch>
</HashRouter>
//-----------------------------------------------------------------------------------------------BrowserRouter
<Router basename={'diseaseList'}> //BrowserRouter需要设置父级路由
<Switch>
<Route path={ '/' } exact={ true } component={ DiseaseList } />
<Route path={ '/diseaseAdd' } exact={ true } component={ DiseaseAdd }/>
</BrowserRouter>
2:HashRouter不能使用Redirect重定向(不知为何)
3:HashRouter不能通配符传参 ,BrowserRouter可以
//BrowserRouter打印的this.props
{"history":{"length":27,"action":"PUSH","location":
{"pathname":"/diseaseUpdate/10","search":"","hash":"","key":"0uacjh"}},"location":
{"pathname":"/diseaseUpdate/10","search":"","hash":"","key":"0uacjh"},"match":
{"path":"/diseaseUpdate/:id","url":"/diseaseUpdate/10","isExact":true,"params":{"id":"10"}}}
//HashRouterRouter打印的this.props
{"history":{"length":29,"action":"POP","location":
{"pathname":"/diseaseUpdate/10","search":"","hash":""}}, "location":
{"pathname":"/diseaseUpdate/10","search":"","hash":""},"match":
{"path":"/","url":"/","params":{},"isExact":false}}
4:当BrowserRouter下嵌套HashRouter时,(HashRouter组件对应“/HashRouter”路径)
HasRouter的根路由为BrowserRouter的/HashRouter路径,HashRouter组件只能在/HashRouter下的子路由内跳转,无法跳转到/下的路由