2016-04-03 8 views
-1

Ich habe anfängliche urlWie mit URL Param Änderungen im React-Router umgehen?

/processes/new 

Nach Änderungen ich es speichern möchten & navigieren zu

/processes/_generatedprocessID_ 

Also ich zu routerWillLeave abonnieren und hoffen, dass es url param Veränderungen ausgelöst. Aber es passiert nicht. Hier ist mein Router für diese Urls:

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

oder es gibt einige eleganteren Weg:

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

Sollte ich eine Kopie davon erstellen?

Antwort

0

Wenn Sie einen Container haben, der diese Komponenten enthält, könnte diese Routing-Logik dort ausgeführt werden.

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

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

Hinweis: Sie benötigen diese ->

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