Uygulamanıza bir ana sayfa bileşeni eklediğinizde, genellikle aşağıdaki <Route>gibi bir bileşene sarılır :
<Route path="/movies" component={MoviesIndex} />
Bunu yaparak, MoviesIndexbileşenin, this.props.historykullanıcıyı yeniden yönlendirebilmesi için erişimine sahip olur this.props.history.push.
Bazı bileşenler (genellikle bir başlık bileşeni) bu yüzden sarılmış değil, her sayfada görünür <Route>:
render() {
return (<Header />);
}
Bu, başlığın kullanıcıyı yeniden yönlendiremeyeceği anlamına gelir.
Bu sorunu aşmak için, üstbilgi bileşeni withRouterdışa aktarıldığında bir işleve sarılabilir :
export default withRouter(Header)
Bu, Headerbileşene erişim sağlar this.props.history, yani başlık artık kullanıcıyı yeniden yönlendirebilir.
withRouterayrıcamatchvelocation. Kabul edilen cevabın bundan bahsetmesi güzel olurdu, çünkü kullanıcıyı yeniden yönlendirmek için tek kullanım durumu değilwithRouter. Aksi takdirde bu güzel bir self-qna'dır.