BrowserRouter
এটি ইতিহাসের এপিআই ব্যবহার করে , অর্থাৎ এটি উত্তরাধিকারী ব্রাউজারগুলির জন্য উপলব্ধ নয় (আই 9 এবং নিম্ন এবং সমসাময়িক)। ক্লায়েন্ট-সাইড প্রতিক্রিয়া অ্যাপ্লিকেশানের মত পরিষ্কার যাত্রাপথ বজায় রাখতে সক্ষম হয় example.com/react/route কিন্তু ওয়েব সার্ভার দ্বারা সমর্থিত করা প্রয়োজন। সাধারণত এর অর্থ এই যে ওয়েব সার্ভারে একক পৃষ্ঠার অ্যাপ্লিকেশনের জন্য কনফিগার করা উচিত, অর্থাত্ একই index.htmlপরিবেশিত হয় জন্য / প্রতিক্রিয়া / রুট পাথ অথবা সার্ভার প্রান্তের অন্য কোন রুট। ক্লায়েন্ট দিকে, window.location.pathnameপ্রতিক্রিয়া রাউটার দ্বারা পার্স করা হয়। প্রতিক্রিয়া রাউটার এমন একটি উপাদানকে রেন্ডার করে যা এটি / প্রতিক্রিয়া / রুটের জন্য রেন্ডার করার জন্য কনফিগার করা হয়েছিল ।
অতিরিক্তভাবে, সেটআপটিতে সার্ভার-সাইড রেন্ডারিং জড়িত index.htmlথাকতে পারে, রেন্ডারযুক্ত উপাদান বা ডেটা থাকতে পারে যা বর্তমান রুটের সাথে নির্দিষ্ট।
HashRouter
এটি ইউআরএল হ্যাশ ব্যবহার করে, এটি সমর্থিত ব্রাউজারগুলি বা ওয়েব সার্ভারে কোনও সীমাবদ্ধতা রাখে না। সার্ভার-সাইড রুটিং ক্লায়েন্ট-সাইড রাউটিং থেকে স্বতন্ত্র।
পশ্চাদপদ-সামঞ্জস্যপূর্ণ একক পৃষ্ঠার অ্যাপ্লিকেশনটি এটি উদাহরণস্বরূপ ব্যবহার করতে পারে / ডটকম / পুনঃটুইট / ক্রাউট । সার্ভার-সাইড রেন্ডারিং দ্বারা সেটআপটিকে ব্যাক আপ করা যায় না কারণ এটি / পাথ যা সার্ভারের পাশে পরিবেশিত হয়, # / প্রতিক্রিয়া / রুট ইউআরএল হ্যাশ সার্ভার পাশ থেকে পড়া যায় না। ক্লায়েন্ট দিকে, window.location.hashপ্রতিক্রিয়া রাউটার দ্বারা পার্স করা হয়। প্রতিক্রিয়া রাউটার এমন একটি উপাদানকে রেন্ডার করে যা এটি অনুরূপভাবে / প্রতিক্রিয়া / রুটের জন্য রেন্ডার করার জন্য কনফিগার করা হয়েছিল BrowserRouter।
সর্বাধিক গুরুত্বপূর্ণ, HashRouterব্যবহারের মামলাগুলি এসপিএ-তে সীমাবদ্ধ নয়। একটি ওয়েবসাইট যখন প্রতিক্রিয়া অ্যাপ্লিকেশনটি একটি উইজেট যে ভালো URL- এ তার রাষ্ট্র বজায় রাখে হতে পারে উত্তরাধিকার আছে বা সার্চ ইঞ্জিনে বান্ধব সার্ভার সাইড রাউটিং পারে, example.com/server/side/route#/react/route । কিছু পৃষ্ঠা যা প্রতিক্রিয়া প্রয়োগ করে সেগুলিকে / সার্ভার / সাইড / রুটের জন্য সার্ভার সাইডে পরিবেশন করা হয় , তারপরে ক্লায়েন্ট সাইডে রিঅ্যাক্ট রাউটার এমন একটি উপাদান সরবরাহ করে যা এটি পূর্ববর্তী দৃশ্যের মতো একইভাবে / প্রতিক্রিয়া / রুটের জন্য রেন্ডার করার জন্য কনফিগার করা হয়েছিল ।