Na versão atual do React Router (v3), posso aceitar uma resposta do servidor e usar browserHistory.push
para ir para a página de resposta apropriada. No entanto, isso não está disponível na v4 e não tenho certeza de qual é a maneira apropriada de lidar com isso.
Neste exemplo, usando o Redux, components / app-product-form.js chama this.props.addProduct(props)
quando um usuário envia o formulário. Quando o servidor retorna com sucesso, o usuário é levado para a página Carrinho.
// 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
});
}
Como posso redirecionar para a página Carrinho da função React Router v4?
history
também funciona para o React Native como uma opção, além de uma opção adicional de suporte a navegadores herdados.
context
para passar o que você precisa manualmente é um "não-vá". A menos que eu seja um autor de biblioteca, não deve haver necessidade de usá-lo. De fato, o Facebook recomenda contra isso.