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

反应路由器不将值传递给match.props

阎卓
2023-03-14

所以,我开始学习React与Redux和react-router。一个. net的大麻烦

我想使用match对象查找给定url中的道具,因此可以执行以下操作:

function NumberHeader ({match}){
   var number = match.props.nr;
   ..... Logic down here ...
}

定义了这样一条路线:

<Route path={`/number/:nr`} component={() => <NumberHeader match={this.props.match} />} />

NumberHeader组件正在正确的url上呈现,但我无法获得任何道具。

所有这些逻辑都不是在应用根中发生的,而是在这个渲染的组件中发生的:

<Route path={routes.NUMERO} component={() => <DrawsPage />} />

我需要遵循哪些关键因素,这样才能起作用?我正在使用最新的react路由器v4。谢谢

共有1个答案

童浩言
2023-03-14

从组件声明中传递道具:

component={props => <NumberHeader {...props} />}

或者,就这么做

component={NumberHeader}
 类似资料:
  • 我在一个组件中有一个按钮,单击我想转到另一个组件并将状态传递给该组件。 是这样的: 但它不起作用。单击“我去添加新问题url”,但组件AddNewQuestionPage不会呈现。若我不把路线放在AddQuestions组件中,而是放在应用程序组件中,它就可以工作。它是整个应用程序的主要组件,使用Switch,还设置了其他路由。 但是,如果状态问题是从应用程序组件呈现的,我不知道如何将其传递给Ad

  • 例如,在具有分页列表的路由上,网址可能如下所示,表示我们已加载第二个网页: 使用指令和来传递查询参数。例如: 或者,我们可以使用服务通过JS跳转: 读取查询参数 See Official Documentation on Query Parameters

  • 反应路由器:链接和路由不传递状态到组件 我正在用React、Redux和React路由器构建一个在线购物应用程序。在主页上,显示所有项目。我希望用户能够点击一个图像,并被带到一个页面,其中包含该项目的项目详细信息。 下面是我如何做到这一点的: 在App.js中,我使用BrowserRouter、Route和Switch进行路由 这看起来很简单,我在网上看到了很多关于这一点的讨论。以下是我已经尝试过

  • 考虑以下事项: 我有一个应用模板,一个HeaderTemboard,和参数化的路由集与相同的处理程序(在应用模板)。我希望在没有找到东西的时候能够服务404路线。例如, /CA/SanFrancisco应该由区域查找和处理,而 /SanFranciscoz应该是404。 下面是我如何快速测试路线的。 问题是 /SanFranciscoz总是由区域页面处理,但我希望它是404。此外,如果我向第一个路

  • 我需要通过使用路由器的组件道具。这是我的代码: 如您所见,我验证了我要传递给登录组件的道具。 当我记录道具时,未经验证的道具不存在。我做错了什么?我怎样才能正确地通过道具?我跟踪了文档和其他讨论。据我所知,这应该是可行的。react router和react router dom的版本为4.0.0