使用多个参数来响应路由器

时间:2020-07-26 22:26:00

标签: reactjs parameters routes react-router

我有一个页面路线/ movies?categoryId = 21213 在此页面上,我有一部分演员,单击该链接后,应将其重定向到/ movies?categoryId = 21213 / actor?actorId = 234324234

我应该如何正确描述使用actor渲染最新组件? 我尝试过

<Route path=`/movies/:categoryId?/:actorId?`/>

但这不起作用

1 个答案:

答案 0 :(得分:1)

有两种方法可以解决此问题。要么使用查询参数,要么使用路径参数。

路径参数

您要路由:

<Route path='/movies/:categoryId/:actorId' />

这里您将拥有包含两个路径参数/movies/1/2的路由。

查询参数 您的路线

<Route path='/movies' />

因此,您的路由仅为/movies,但是您将查询参数传递给它并在组件中处理它们。

带有查询参数/movies?categoryId=1&actorId=2的路由示例。

您可以在路由的组件中为此目的使用useHistory钩子。

我个人更喜欢使用查询参数,因为它们在您的组件中更易于处理,但是您可以从这两个示例中选择自己的方式。

在您的问题中,代码有点错误,因为路径参数不需要?出现在路由中。