【发布时间】:2021-12-07 05:30:45
【问题描述】:
假设我有以下结构:
<Router>
<Sidebar />
<Switch>
<Route path='/' exact component={Home} />
<Route path='/reports' component={Reports} />
<Route path='/products' component={Products} />
</Switch>
</Router>
侧边栏显示在左侧,其余显示在右侧。侧边栏允许从一个页面跳转到另一个页面。此外,我希望每个页面(主页、报告、产品)都有一个顶部菜单,可以根据我所在的页面更改其内容。但是当我使用侧边栏更改页面时,它不应该消失(几分之一秒)。它总是会有相同的样式,只有文本/内容可能会改变。
实现它的最佳方式是什么?如果我将菜单分别放在每个页面中,我认为它会在我更改页面时消失一会儿(因为它需要卸载一个实例并安装另一个实例)。另一方面,如果我将它完全放在 3 条路径之外,即侧边栏旁边,那么将菜单和页面逻辑(方法、道具等)保留在 2 个不同的组件中会很麻烦——毕竟它们是,从概念上讲,是同一个视图的一部分,如果把逻辑放在同一个组件中就好了。
【问题讨论】:
-
你必须创建带有标题、侧边栏的布局
-
您可以对您的 Web 应用程序进行布局,并使用
redux根据您所在的页面更改顶部菜单中的值。
标签: reactjs react-router