当使用Route传递道具时,在react Js中的组件中无法接收到Url参数。

问题描述 投票:0回答:1

我正在将一个props(props的所有项目细节,我将根据从URL接收到的ID来选择产品)传递到ItemDetails组件中,我想根据通过URL传递的项目Id来显示产品。this.pops.match.params 在ItemDetails组件中,我不明白为什么它不能恢复URL参数,有人能帮帮我吗?

我是这样向组件传递props的。<Route exact path='/item/:id' component={()=><ItemDetail itemsData={this.props.itemsData} />} />

javascript reactjs url react-router url-routing
1个回答
0
投票

哦,我明白了。其中一个问题是,在你的路线上,你有这样的。item/:id 我想是这样的 :id 是动态的。现在u看到了,如果你不打算接受相同的完全值。该 exact 应该删除。

其他令我不解的是,你设置的方式是 component 道具,为什么是箭头函数,而不是引用 component={ItemDetail}. 如果你想把它作为一个箭头函数使用,回调得到一个参数调用。props 或任何你想要的名字,但它与道具。所以你要把它们散开。

<Route path=“my-path” component={props=> <ItemDetail {...props} />
© www.soinside.com 2019 - 2024. All rights reserved.