2017-10-05 35 views
0

我有了下面的有效途径一个反应/ Redux的应用:如何在Redux的容器组件读取URL参数

两条路线指向同容器组件:ProductContainer。这两个URL之间唯一的区别是当提供产品ID时,应用程序需要从服务器获取一些数据并预先填充某些表单。因此我需要一些基于url参数的条件提供道具的机制

我可以得到这个工作 - 但它很hacky/inelegant:我目前这样做的方式是通过访问url字符串与createhistory()对象并对散列执行一些字符串操作以提取产品ID。我想知道是否有更完善,更标准的方法来完成这种行为?

回答

0

内,您的组件,你应该已经进入this.props.match,然后访问URL参数,你可以做this.props.match.params.product_id

+0

没有为你工作? – linasmnew

+0

我希望避免这种方法,因为访问this.props.match组件需要用'withRouter' HOC包装 - 也就是说,我不能真正在* container *组件中使用它,但更多的必须使用它在容器组件的一个孩子中,并将其传回。虽然目前它看起来像最好的选择 –