我们如何将url作为对象而不是字符串。
这是我下面的示例代码。
App.js
return (
<Switch>
<Route path='/:company/:project/:todo' component={Project} />
<Route path='/:company/:project' component={Project} />
<Route path='/:company' component={Projects} />
</Switch>
)
例如,当url类似于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((,在这个线程上,useParams可以在App.jss中使用吗?可以回答。
总之,useParams只能在我们使用对象时为我们提供对象,除非在App.js中