小编Jos*_*Liu的帖子

React Router Dom V6 将数组传递给路径

我想在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 /> 多次

我想保持我的代码尽可能干净。

我查了官方文档,但没有提到这部分。我做了研究,但找不到解决方案。

reactjs react-router-dom

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

react-router-dom ×1

reactjs ×1