আপনি যখন নিজের অ্যাপ্লিকেশনে কোনও মূল পৃষ্ঠার উপাদান অন্তর্ভুক্ত করবেন, এটি প্রায়শই এর <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
। এটি অন্যথায় একটি দুর্দান্ত স্ব-qna।