我们如何获得作为对象而不是字符串的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(),但返回空对象。
正是useParams()可以给我们带来预期的结果。问题是,我在App.js中使用useParams(),在此线程Can useParams be able to use inside App.js?上可以回答它。