2016-07-01 21 views
4

我想提取Redux中間件中的URL params以分派操作並在有效內容中使用這些值。使用React路由器獲取URL Redirect中間件中的參數

+0

讓您的PARAMS你有什麼我建議任何的喜悅? –

+0

感謝您的建議,但我正在尋找我所問的。如果那不可能,那麼我需要找到另一種方式。我在等待一段時間,如果它是100%,我們無法從URL中提取參數,那麼我會接受你的答案。 – haxpanel

+0

我不認爲提取「Redux中間件內的URL參數」是合理的。你能把我指向你見過類似的文檔嗎? –

回答

2

爲了實現自己的目標,你可以使用redux-router

這個庫可以讓你保持你的終極版店內路由器的狀態。 因此,獲取當前路徑名,查詢和參數就像選擇應用程序狀態的其他部分一樣簡單。

後,你可以從中間件

export const someMiddleware = store => next => action=> { 
    /// get params 
    let params = store.getState().router.params; 

    ///then do what you want........... 
    next(action) 
}; 

MORE INFO

+0

謝謝,我也最終看到了最近的答案爲redux路由器。幸運的是,我的問題的確切解決方案(這裏:http://stackoverflow.com/questions/38145321/map-a-route-parameter-to-under-a-redux-stores-key)並不需要我改變這個路由器。 – haxpanel

1

您不需要在中間件內部訪問params。一種常見模式是通過props在您想要分配操作的組件中訪問params

事情是這樣的:

this.props.dispatch(yourAction(this.props.params)); 

請注意,您需要使用react-redux Connect method使dispatch提供給您的組件。例如:

export default connect()(YourComponent); 
相關問題