Saat Anda menyertakan komponen halaman utama dalam aplikasi Anda, itu sering kali dibungkus dengan <Route>komponen seperti ini:
<Route path="/movies" component={MoviesIndex} />
Dengan melakukan ini, MoviesIndexkomponen memiliki akses this.props.historysehingga dapat mengarahkan pengguna this.props.history.push.
Beberapa komponen (biasanya komponen header) muncul di setiap halaman, jadi tidak digabungkan dalam <Route>:
render() {
return (<Header />);
}
Artinya, header tidak dapat mengarahkan pengguna.
Untuk mengatasi masalah ini, komponen header bisa dibungkus dalam sebuah withRouterfungsi, baik saat diekspor:
export default withRouter(Header)
Ini memberikan Headerakses komponen ke this.props.history, yang berarti header sekarang dapat mengarahkan pengguna.
withRouterjuga memberikan akses kepadamatchdanlocation. Alangkah baiknya jika jawaban yang diterima menyebutkan bahwa, karena mengarahkan pengguna bukan satu-satunya kasus penggunaanwithRouter. Sebaliknya, ini adalah qna diri yang bagus.