我想在react-router-dom v6中通过多个路由渲染同一页面,就像在v5中一样。但是,我找不到有效的方法来做到这一点。
v5 中的示例我可以这样做:
<BrowserRouter>
<Switch>
<Route path={["/dashboard", "/home"]} render={<Home />} />
<Route path="/other" render={<OtherPage/>} />
<Route path={["/", "/404"]} render={<NotFound />} />
</Switch>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)
但在 v6 中,据说path需要是一个string。
我发现实现这一目标的唯一方法是将它们分开,如下所示:
<BrowserRouter>
<Routes>
<Route path="/dashboard" element={<Home />} />
<Route path="/home" element={<Home />} />
</Routes>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)
这意味着我必须写<Home /> 多次。
我想保持我的代码尽可能干净。
我查了官方文档,但没有提到这部分。我做了研究,但找不到解决方案。