Dalam versi React Router (v3) saat ini, saya dapat menerima respons server dan gunakan browserHistory.push
untuk membuka halaman respons yang sesuai. Namun, ini tidak tersedia di v4, dan saya tidak yakin apa cara yang tepat untuk menangani ini.
Dalam contoh ini, menggunakan Redux, komponen / app-product-form.js panggilan this.props.addProduct(props)
saat pengguna mengirimkan formulir. Ketika server mengembalikan sukses, pengguna dibawa ke halaman Cart.
// 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
});
}
Bagaimana saya bisa membuat redirect ke halaman Cart dari fungsi untuk React Router v4?
history
juga berfungsi untuk React Native sebagai opsi dan juga opsi tambahan untuk mendukung browser lawas.
context
untuk melewati apa yang Anda butuhkan secara manual adalah "no go". Kecuali saya seorang penulis perpustakaan, seharusnya tidak perlu menggunakannya. Bahkan, Facebook merekomendasikan untuk tidak melakukannya.