reactjs - React hookrouter 多种布局
问题描述
我想使用 hookrouter 在 React 中使用多个布局。
在正常的 react-router-dom 中,我使用路由内的路由来实现多布局效果。
这是我现有的 react-router-dom 代码,我想将其转换为 hookrouter:
export default () =>
<Switch>
<Route exact path={[ Doctor_Login, Doctor_Panel , Reception_Login , Reception_Panel , Pharmacy_Login , "/"]}>
<NavBar >
<Switch>
<Route exact path="/" component={MainView}/>
<Route exact path={Doctor_Login}
render={(props) => <Login {...props} Type={"Doctor"} />}/>
<Route exact path={Doctor_Panel} component={DoctorPanel}/>
<Route exact path={Reception_Login}
render={(props) => <Login {...props} Type={"Reception"} />}/>
<Route exact path={Reception_Panel} component={ReceptionPanel}/>
<Route exact path={Pharmacy_Login}
render={(props) => <Login {...props} Type={"Pharmacy"} />}/>
</Switch>
</NavBar>
</Route>
<Route exact path={["/Test", Pharmacy_Panel , Pharmacy_Sell]}>
<NavBarDrawer>
<Switch>
<Route exact path="/Test" component={Tests}/>
<Route exact path={Pharmacy_Panel} component={PharmacyPanel}/>
<Route exact path={Pharmacy_Sell} component={SellPanel}/>
</Switch>
</NavBarDrawer>
</Route>
</Switch>
hookrouter 中的预期代码
const routes = {
<Layout1>
'/comp1': () => <Comp1 />,
</Layout1>
<layout2>
'/comp2': () => <Comp2 />,
</layout2>
};
解决方案
我认为您可以根据文档中的嵌套路由部分执行此操作: https ://github.com/Paratron/hookrouter/blob/master/src-docs/pages/en/02_routing.md#nested-routing
简而言之,您可以根据父级有不同的布局:
"app*": ()=> <AppLayout/>,
"pages*": ()=> <PagesLayout/>
每个布局组件都有自己的路线
推荐阅读
- entity-framework-core - 使用 Entity Framework 核心在数据库中保存数据时更新 MemoryCache web.api
- jenkins-pipeline - 成功构建后詹金斯不发布构建代理
- javascript - 带有光谱测试的电子应用程序的简单示例
- python - 保存外键“子”而不先保存“父”?
- xml - 站点地图 XML 换行符:/n 或 /r/n
- c# - 从 ViewModel 使 View 绑定到 Model 的实例上是否正确
- html - Laravel img src 不适用于我的文件路径
- javascript - 无法将 jQuery 转换为 Vanilla JS
- flutter - 覆盖 dart 中的包类
- r - 如何使搜索框与DT中的输出格式相同?