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, MoviesIndex
bileşenin, this.props.history
kullanı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 withRouter
dışa aktarıldığında bir işleve sarılabilir :
export default withRouter(Header)
Bu, Header
bileşene erişim sağlar this.props.history
, yani başlık artık kullanıcıyı yeniden yönlendirebilir.
withRouter
ayrıcamatch
velocation
. 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.