Url 使用路由传递 Props 时,React Js 中的组件无法接收参数

Url Parameters not able to recieved in component in react Js when Passing Props with Route

我正在将一个道具(所有项目细节的道具,我将从中 select 基于从 URL 收到的 ID 的产品)传递到 ItemDetails 组件中,我想显示产品根据通过 URL 传递的项目 ID。不幸的是我无法使用 this.pops.match.params 在 ItemDetails 组件中,我不明白为什么它不恢复 URL 参数谁能帮忙?

这就是我将道具传递给组件的方式。
<Route exact path='/item/:id' component={()=><ItemDetail itemsData={this.props.itemsData} />} />

哦,我明白了。问题之一是在你的路线上你有这样的: item/:id 我相信 :id 是动态的。现在你看到了,如果你不会收到相同的确切值。 exact 应该被删除。

另一件让我困惑的事情是你设置 component 属性的方式,为什么它是一个箭头函数而不是引用 component={ItemDetail}。如果你想将它用作箭头函数,回调会得到一个参数调用 props 或你想要的任何名称,但它带有道具。所以你需要传播它们:

<Route path=“my-path” component={props=> <ItemDetail {...props} />