Comment pousser à l'Histoire Réagir Routeur v4?

Dans la version actuelle de Réagir Routeur (v3), je peux accepter une réponse du serveur et de l'utiliser browserHistory.push pour aller à la réponse appropriée de la page. Cependant, ce n'est pas disponible dans la version 4, et je ne suis pas sûr de la façon de gérer cela est.

Dans cet exemple, à l'aide de Redux, components/app-product-form.js appels this.props.addProduct(props) lorsqu'un utilisateur soumet le formulaire. Lorsque le serveur renvoie un succès, l'utilisateur est pris à la page du 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 du Panier à partir de la fonction pour Réagir Routeur v4?

  • Juste pour ajouter à cela, à partir de la dernière solution proposée et de suggestions à Réagir Routeur questions sur GitHub, à l'aide de la context passer ce que vous devez manuellement est un "no go". Sauf si je suis de la bibliothèque de l'auteur, il ne devrait pas être un besoin de l'utiliser. En fait, Facebook recommande contre elle.
  • avez-vous trouvé une solution pour cela ? j'ai besoin de pousser à un autre composant dans l'action , même comme vous l'avez expliqué ici
  • malheureusement je n'ai pas. Le dernier que j'ai lu, c'était la Réagir la Formation de l'équipe qui maintient Réagir Routeur a un redux paquets disponibles. Je n'ai pas eu de chance pour le faire fonctionner, et ils n'ont pas mis beaucoup de travail dans la résoudre.
InformationsquelleAutor Chris | 2017-03-09