【问题标题】:Url Parameters not able to recieved in component in react Js when Passing Props with Route使用 Route 传递 Props 时,Url 参数无法在 React Js 中的组件中接收
【发布时间】:2020-05-17 15:42:56
【问题描述】:

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

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

【问题讨论】:

  • 能否请您也发布<ItemDetail> 组件定义?谢谢!
  • 点击here进入ItemDetails。

标签: javascript reactjs url react-router url-routing


【解决方案1】:

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

令我困惑的另一件事是您设置component 属性的方式,为什么它是箭头函数而不是引用component={ItemDetail}。如果您想将其用作箭头函数,回调将获取参数调用props 或您想要的任何名称,但它与道具一起提供。所以你需要传播它们:

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

【讨论】:

  • 实际上我正在学习 react Js,所以在一个视频中我看到了使用箭头功能发送组件,这样我们也可以向它发送所需的道具。关于您提供的代码,我不明白,您能解释一下它的作用吗?
  • 看看这个。它基本上都有 react-router-dom api:reacttraining.com/react-router/web/example/url-params
猜你喜欢
  • 2020-06-12
  • 2021-08-18
  • 2019-06-23
  • 2021-05-06
  • 2020-08-05
  • 2018-12-27
  • 2017-11-25
  • 2021-06-16
  • 1970-01-01
相关资源
最近更新 更多