2016-04-03 295 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 
};