【问题标题】:React router path: making optional value inside path反应路由器路径:在路径内制作可选值
【发布时间】:2020-10-22 21:43:12
【问题描述】:

考虑以下两条 react 路由路径:

  1. /site/my/photos/:id
  2. /site/photos/:id

我希望第一个路径中的 'my' 是可选的。

如何使其成为可选(可能与 ? 符号有关),然后如何检索 URL 中是否存在 my

【问题讨论】:

    标签: javascript reactjs react-router react-router-v4


    【解决方案1】:

    你可以从 react-router-dom 向 Route 传递一个路径数组,例如:

    <Route path={["/site/my/photos/:id", "/site/photos/:id"]} component={MyComponent} />
    

    【讨论】:

    • 如果my 存在或不存在,我如何在组件内部检索?
    • props.location.pathname.includes("my")
    【解决方案2】:

    我认为您应该定义两条具有相同组件的路由,如下所示:

    <Route path="/site/my/photos/:id" component={MyComponent} />
    
    <Route path="/site/photos/:id" component={MyComponent} />
    

    【讨论】:

    • 如果my 存在或不存在,我该如何检索?
    • props.location.pathname.includes("my")
    猜你喜欢
    • 2022-01-17
    • 2018-01-25
    • 2016-06-06
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 2018-05-16
    相关资源
    最近更新 更多