我有初始网址
/processes/new
进行更改后我想保存它&导航到
/processes/_generatedprocessID_
所以我订阅routerWillLeave
并希望它会触发url param更改。但它没有发生。
这是我的路由器这些网址:
<Route path="processes/:id" component={Process} />
我应该创建它的副本:
<Route path="processes/new" component={Process} />
还是有一些更优雅的方式?
答案 0 :(得分:0)
如果您有一个包含这些组件的容器,则可以在那里完成此路由逻辑。
function saveSomething(something){
//some save logic that returns id
changeRoute(returned_id)
}
function changeRoute(returned_id){
history.pushState(null, `processes/${returned_id}`);
}
注意:您需要这个 - &gt;
NameOfTheCoponent.contextTypes = {
history: PropTypes.object
};