2017-10-05 61 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 *組件中使用它,但更多的必須使用它在容器組件的一個孩子中,並將其傳回。雖然目前它看起來像最好的選擇 –