将url作为对象进行反应

问题描述 投票:-1回答:1

我们如何获得作为对象而不是字符串的URL。

这是下面的示例代码。

App.js

return (
 <Switch>
  <Route path='/:company/:project/:todo' component={Project} />
  <Route path='/:company/:project' component={Project} />
  <Route path='/:company' component={Projects} />
 </Switch>
)

例如,当某个网址类似于companyxyz / project0 / todo0时。任何组件中的某处都可以得到

{
  company: companyxyz,
  project: project0,
  todo: todo0
}

另一个示例是companyxyz / project0。然后它将像这样创建。

{
  company: companyxyz,
  project: project0
}

由于上述示例将其对应的Route匹配并映射到对象中,因为Route是键,而Url是值

我使用useLocation(),但它返回带有URL的字符串的路径名。我也使用useParams(),但返回空对象。

reactjs object url path react-hooks
1个回答
0
投票

正是useParams()可以给我们带来预期的结果。问题是,我在App.js中使用useParams(),在此线程Can useParams be able to use inside App.js?上可以回答它。

© www.soinside.com 2019 - 2024. All rights reserved.