Dans la version actuelle de React Router (v3), je peux accepter une réponse du serveur et l'utiliser browserHistory.push
pour accéder à la page de réponse appropriée. Cependant, ce n'est pas disponible dans la v4, et je ne sais pas quelle est la façon appropriée de gérer cela.
Dans cet exemple, à l'aide de Redux, components / app-product-form.js appelle this.props.addProduct(props)
lorsqu'un utilisateur soumet le formulaire. Lorsque le serveur renvoie un succès, l'utilisateur est redirigé vers la page Panier.
// 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
});
}
Comment puis-je faire une redirection vers la page Panier à partir de la fonction pour React Router v4?
history
fonctionne également pour React Native comme option ainsi qu'une option supplémentaire de prise en charge des navigateurs hérités.
context
pour passer ce dont vous avez besoin manuellement est un "no go". Sauf si je suis un auteur de bibliothèque, il ne devrait pas être nécessaire de l'utiliser. En fait, Facebook le déconseille.