当前位置: 首页 > 面试题库 >

使用React Router的多个参数

赵高韵
2023-03-14
问题内容

我使用React 15.0.2和React Router 2.4.0。我想将多个参数传递给我的路线,但我不确定如何以最佳方式做到这一点:

<Route name="User" path="/user" component={UserPage}>   
    <Route name="addTaskModal" path="/user/manage:id" component={ManageTaskPage} />
</Route>

想要的是这样的:

 <Route name="User" path="/user" component={UserPage}>  
    <Route name="addTaskModal" path="/user/manage:id:type" component={ManageTaskPage} />
</Route>

问题答案:

正如@ alexander-t所提到的:

path="/user/manage/:id/:type"

如果要将它们保留为可选:

path="/user/manage(/:id)(/:type)"

React Router v4与v1-v3不同,并且可选的路径参数未在文档中明确定义。

而是指示您定义path-to-regexp可以理解的路径参数。这样可以在定义路径(例如重复模式,通配符等)时提供更大的灵活性。因此,要将参数定义为可选参数,请添加尾随问号(?)。

因此,要定义可选参数,您可以执行以下操作:

path="/user/manage/:pathParam1?/:pathParam2?"

<Route path="/user/manage/:pathParam1?/:pathParam2?" component={MyPage} />

而强制性参数在V4中仍然相同:

path="/user/manage/:id/:type"

要访问PathParam的值,可以执行以下操作:

this.props.match.params.pathParam1


 类似资料:
  • 问题内容: 我将Express与Node一起使用,并且我有一个要求用户可以将URL请求为:。 这样的请求将返回JSON响应。 上述调用之前的JSON数据如下: 通过上述请求,响应JSON数据应为: 我已经配置了Express路由,如下所示: 但这是行不通的。我不确定如何传递多个参数,也就是说,我不确定是否正确的方法。是吗? 问题答案: 如果那不起作用,请尝试使用console.log(req.pa

  • 问题内容: 我在传递带有ajax url的参数时遇到问题。我认为错误在于参数代码语法。请帮助。 我正在按以下方式访问这些参数 问题答案: 为什么要结合GET和POST?使用一个或另一个。 的PHP: 或者,只需正确格式化您的请求即可(您缺少get参数的“&”号)。

  • 问题内容: 经过一些挖掘后,我可以这样运行Linux命令: 我想做的是,在远程计算机上运行以下命令: 我可以从终端成功完成此操作,但是当我尝试在Go中运行它时,出现以下错误: 更新 :为了方便起见,我更新了问题。 问题答案: 根据有关exec软件包的文档,程序名称和参数是方法的不同参数。您应该这样做: 如果您需要更详细的说明,还可以查看go.crypto / ssh 软件包。

  • 问题内容: 我正在尝试制作一个带有按钮的PyGtk Gui。当用户按下此按钮时,提示用户输入密码。 然后,它将为JQuery代码段克隆此Git存储库。 然后,将文件复制到 最后,它会强制删除Git存储库。 命令: 它在我的终端机上工作正常。 但是, 它仅通过GUI打开,我添加了密码,按Enter,然后再次关闭。 我只想在第一个执行命令 这是我的Python函数(带有命令): 问题答案: 要直接回答

  • 问题内容: 使用jinja2 url_for()功能时出现问题。 我有一条这样的路线: 在jinja模板文件中,我想创建一个链接到article_page的URL,所以我这样写: 但是当我运行此页面时,出现错误: 似乎缺少第二个参数。如何正确使用多个参数? 问题答案: 根据文件: 如果查询参数的值为“无”,则将跳过整个对。 确保不是。 或在函数中指定默认值。

  • 问题内容: 假设单击了超链接,并使用以下参数列表触发了。现在如何中捕获所有使用的参数? 我的要求是我必须捕获所有参数并将它们放在地图中。 请帮忙! 问题答案: 你可以按上述方式使用RequestParam。