In der aktuellen Version von React Router (v3) kann ich eine Serverantwort akzeptieren und verwenden browserHistory.push
, um zur entsprechenden Antwortseite zu gelangen. Dies ist jedoch in Version 4 nicht verfügbar, und ich bin mir nicht sicher, wie ich damit umgehen soll.
In diesem Beispiel ruft components / app-product-form.js unter Verwendung von Redux auf, this.props.addProduct(props)
wenn ein Benutzer das Formular sendet . Wenn der Server einen Erfolg zurückgibt, wird der Benutzer zur Warenkorbseite weitergeleitet.
// actions/index.js
export function addProduct(props) {
return dispatch =>
axios.post(`${ROOT_URL}/cart`, props, config)
.then(response => {
dispatch({ type: types.AUTH_USER });
localStorage.setItem('token', response.data.token);
browserHistory.push('/cart'); // no longer in React Router V4
});
}
Wie kann ich von der Funktion für React Router v4 eine Umleitung zur Warenkorbseite vornehmen?
history
funktioniert auch für React Native als Option sowie als zusätzliche Option zur Unterstützung älterer Browser.
context
ist es ein "no go" , das zu verwenden , um das zu übergeben, was Sie manuell benötigen. Sofern ich kein Bibliotheksautor bin, sollte es nicht erforderlich sein, es zu verwenden. In der Tat empfiehlt Facebook dagegen.