当前位置: 首页 > 知识库问答 >
问题:

可选反应路由器参数

李成礼
2023-03-14

我试图创建一个符合以下所有URL的路由:

/product/foo
/product/foo/bar

这是我目前的路线:

<Route path="/product/:productName(/:urlID)" handler={SomeHandler} />

根据关于https://github.com/rackt/react-router/blob/master/docs/guides/basics/RouteMatching.md 此路由应该完全匹配,但与上面的URL都不匹配。

我需要做什么来支持这个可选参数?

我在React路由器版本0.13.3,如果我删除(/: urlID),那么我可以匹配第一个URL,但不是第二个。

共有1个答案

公孙俊弼
2023-03-14

好的,()语法是针对React Router 1.0而不是0.13.3的。我最后用的是什么?语法:

<Route path="/product/:productName/?:urlID?" handler={SomeHandler} />
 类似资料:
  • 所以我有一些路线,比如<code>/category/tech</code>和<code</categority/tech/new<code>和<code>/category/tech/old</code>等等 他们都使用 或者我必须分别定义它们,就像

  • 编辑:发布了关于我是如何解决这个问题的答案,而不是使用react路由器可选参数。 出于某种原因,当我使用附加到url的可选参数转到可选react router route/url时,我遇到了一个GET错误。我试图通过在url中包含可选参数SRC来跟踪用户的来源。我已经尝试了从/ref=testing、/src=testing、/testing到:referer?它们可能会保存在本地存储中,但仍然会

  • 问题内容: 我想用可选的path参数声明一个路径,因此当我添加它时,页面会做一些额外的事情(例如,填充一些数据): http:// localhost / app / path / to / page <=渲染页面 http:// localhost / app / path / to / page / pathParam <=根据pathParam使用某些数据渲染页面 在我的React Rout

  • 我需要以两种方式路由到某个组件——一种是带参数的,另一种是不带参数的。我已经搜索了可选参数,但不知何故找不到太多信息。 所以我的路线: 当我以编程方式调用参数时,一切都很好 但是我也需要通过导航这样称呼它 组件接受道具 以及用作此类的组件 现在,我设法让它工作的丑陋方式是复制路线,让其中一个不带道具: 它实际上是有效的,但我对它不满意-也在开发模式下vuejs警告我 当然有一种方法可以在组件调用中

  • 根据这个问题的公认答案,React路由器4不再匹配查询参数。如果我从一个与我的<code>匹配的URL 例如,许多搜索引擎和其他使用搜索栏的网站,包括我正在工作的网站,都使用一个查询参数,通常是< code>q或< code>query。用户可以搜索一个东西,然后决定这不是他/她想要的,并搜索另一个东西。用户可以键入第二个URL或者再次使用搜索栏进行搜索。URL路径中实际上没有放置搜索词的位置,所

  • 问题内容: 我需要react-router v2 +的帮助,例如,当路由更改时,我必须更改navbar的类,因为它将 尝试在navbar组件中使用,但它显示 希望你的帮助 问题答案: 您的组件(如您在问题中所描述的)可能不是路由组件,对吗?通过我的意思是你在使用一个被加载特定路由配置。 仅可通过此类访问,因此您需要将其传递给您。 让我们举个例子: 您的路由器配置: 路线部分: