如何使用React-router渲染多个组件相同的路径路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用React-router渲染多个组件相同的路径路径相关的知识,希望对你有一定的参考价值。

我正在创建仪表板页面,如果路由路径是/ dashboard,我总是想在其中显示补充工具栏组件。但我也希望/ dashboard也渲染另一个组件。

我想要达到的目标:

  • 路径:/ dashboard应该呈现Sidebar.js + Overview.js组件。
  • 路径:/ dashboard / account应该呈现Sidebar.js + Account.js组件。
  • 路径:/ dashboard / favorites应该呈现Sidebar.js + Favorites.js组件。
  • 依此类推...

有人可以指出正确的方向如何实现这一目标吗?不能把我的头绕过来...

请参阅下文,以更加了解我的需求:

Root route path /dashboard

enter image description here

这是我到目前为止尝试过的:

              <Route path="/" exact component=Home />
              <Route path="/podcast/:podId/:podName" component=Podcast />
              <Route exact path="/categori/:categoryName" component=Category />
              <AuthRoute path="/login" component=Login />
              <AuthRoute path="/signup" component=Signup />
            </Switch>
            <Route
              path="/dashboard"
              render=( match:  url  ) => (
                <>
                  <Route path=`$url/` component=Sidebar />
                  <Route path=`$url/` component=Overview />
                  <Route path=`$url/favorites` component=Favorites />
                </>
              )
            />```

答案

您应该去作曲。创建将组件放在一起的页面组件,然后将页面添加到路由器。

例如FavoritePage.js将是

<div>
  <Sidebar />
  <Favorites>
</div>

类似其他页面

然后将在Router中拥有

<Route path=`$url/` component=OverviewPage />
<Route path=`$url/favorites` component=FavoritesPage />

以上是关于如何使用React-router渲染多个组件相同的路径路径的主要内容,如果未能解决你的问题,请参考以下文章

React-Router 在路由更改时重新安装组件

React-router条件渲染

React-router 4

React-router 多路由(React 组件)

渲染包含 Google Charts 的多个 Livewire 组件,这些组件错误地都显示相同的数据

无法以编程方式更改 react-router 中的路由