2016-04-03 293 views
-1

我有初始URL如何處理react-router中的url參數更改?

/processes/new 

使我想保存更改後,它&導航到

/processes/_generatedprocessID_ 

所以我訂閱routerWillLeave,並希望它會火上網址PARAM變化。但它沒有發生。 這是我對這些URL路由器:

<Route path="processes/:id" component={Process} /> 

我應該創建一個副本:

<Route path="processes/new" component={Process} /> 

還是有一些更優雅的方式?

回答

0

如果你有一個包含這些組件的容器,那麼這個路由邏輯可以在那裏完成。

function saveSomething(something){ 
    //some save logic that returns id 
    changeRoute(returned_id) 
} 

function changeRoute(returned_id){ 
    history.pushState(null, `processes/${returned_id}`); 
} 

注意:您將需要這一點 - >

NameOfTheCoponent.contextTypes = { 
    history: PropTypes.object 
};