जब आप अपने ऐप में एक मुख्य पृष्ठ घटक शामिल करते हैं, तो इसे अक्सर <Route>इस तरह से एक घटक में लपेटा जाता है :
<Route path="/movies" component={MoviesIndex} />
ऐसा करने से, MoviesIndexघटक के पास पहुंच होती है this.props.historyताकि वह उपयोगकर्ता को पुनर्निर्देशित कर सके this.props.history.push।
कुछ घटक (आमतौर पर हेडर कंपोनेंट) हर पेज पर दिखाई देते हैं, इसलिए इसमें लिपटे नहीं होते हैं <Route>:
render() {
return (<Header />);
}
इसका अर्थ है कि शीर्ष लेख उपयोगकर्ता को पुनर्निर्देशित नहीं कर सकता है।
इस समस्या को हल करने के लिए, हेडर घटक को एक withRouterफ़ंक्शन में लपेटा जा सकता है , या तो जब इसे निर्यात किया जाता है:
export default withRouter(Header)
यह Headerघटक को एक्सेस देता है this.props.history, जिसका अर्थ है कि हेडर अब उपयोगकर्ता को रीडायरेक्ट कर सकता है।
withRouterयह भी एक्सेस देता हैmatchऔरlocation। यह अच्छा होगा यदि स्वीकृत उत्तर में उल्लेख किया गया है कि, चूंकि पुनर्निर्देशित करना उपयोगकर्ता के लिए एकमात्र उपयोग मामला नहीं हैwithRouter। यह एक अच्छा आत्म-अन्यथा है।