সমাধান করা হয়েছে: প্রতিক্রিয়া রাউটার পুনরায় লোড পৃষ্ঠা পাওয়া যায়নি

রিঅ্যাক্ট রাউটার রিলোড পৃষ্ঠার সাথে সম্পর্কিত প্রধান সমস্যাটি খুঁজে পাওয়া যায়নি যে যখন একজন ব্যবহারকারী পৃষ্ঠাটি রিফ্রেশ করে, তখন ব্রাউজার বর্তমান URL এর জন্য সার্ভারের কাছে একটি অনুরোধ করার চেষ্টা করবে। যাইহোক, যেহেতু রিঅ্যাক্ট রাউটার হল ক্লায়েন্ট-সাইড রাউটিং, ইউআরএল-এর জন্য কোনো সংশ্লিষ্ট সার্ভার রুট নেই এবং এইভাবে একটি 404 নট ফাউন্ড এরর ফিরে এসেছে। এটি বিশেষত সমস্যাযুক্ত হতে পারে যদি ব্যবহারকারীরা রিফ্রেশে কিছু বিষয়বস্তু প্রদর্শিত হওয়ার আশা করেন।

import { BrowserRouter as Router, Route, Switch } from "react-router-dom";

const App = () => (
  <Router>
    <Switch>
      <Route exact path="/" component={Home} />
      <Route path="/about" component={About} />

      {/* Page Not Found */}
      <Route render={() => (<h1>Page not found</h1>)} />

    </Switch>
  </Router>  
);

// লাইন 1: এই লাইনটি প্রতিক্রিয়া-রাউটার-ডোম লাইব্রেরি থেকে ব্রাউজার রাউটার, রুট এবং সুইচ উপাদানগুলি আমদানি করে।

// লাইন 3: এই লাইনটি অ্যাপ নামক একটি ফাংশনকে সংজ্ঞায়িত করে যা JSX কোড প্রদান করে।

// লাইন 5: এই লাইনটি রিঅ্যাক্ট-রাউটার-ডম থেকে একটি রাউটার কম্পোনেন্টে পুরো JSX কোডটি মোড়ানো হয়।

// লাইন 6: এই লাইনটি রিঅ্যাক্ট-রাউটার-ডম থেকে একটি স্যুইচ কম্পোনেন্টে সমস্ত রুটকে মোড়ানো।

// লাইন 7 – 9: এই লাইনগুলি তাদের নিজ নিজ উপাদান (বাড়ি এবং সম্পর্কে) দিয়ে যথাক্রমে '/' এবং '/about'-এর জন্য দুটি রুট সংজ্ঞায়িত করে।

// লাইন 11 - 12: এই লাইনগুলি একটি রুট সংজ্ঞায়িত করে যখন অন্য কোন রুট মেলে না, যা একটি h1 ট্যাগ রেন্ডার করে যাতে "পৃষ্ঠাটি পাওয়া যায়নি"।

পৃষ্ঠা ত্রুটি পাওয়া যায়নি

প্রতিক্রিয়া রাউটারে পৃষ্ঠা খুঁজে পাওয়া যায়নি ত্রুটি এমন একটি ত্রুটি যা ঘটে যখন একজন ব্যবহারকারী এমন একটি পৃষ্ঠা বা রুট অ্যাক্সেস করার চেষ্টা করে যা বিদ্যমান নেই। এটি ঘটতে পারে যদি ব্যবহারকারী URLটি ভুল টাইপ করে থাকেন, অথবা যদি তারা যে পৃষ্ঠাটি অ্যাক্সেস করার চেষ্টা করছেন সেটি সরানো বা সরানো হয়। প্রতিক্রিয়া রাউটারে, এই ত্রুটিটি ব্যবহার করে পরিচালনা করা হয় কম্পোনেন্টের রেন্ডার প্রপ এবং একটি ফাংশনে পাসিং যা একটি 404 পৃষ্ঠা প্রদান করে। এটি ডেভেলপারদের তাদের পছন্দের বিষয়বস্তু যেমন সহায়ক লিঙ্ক বা ক্ষমা প্রার্থনার বার্তা সহ কাস্টম 404 পৃষ্ঠা তৈরি করতে দেয়।

প্রতিক্রিয়া রাউটারে পাওয়া যায়নি পেজ কিভাবে পরিচালনা করব

রিঅ্যাক্ট রাউটার ব্যবহার করার সময়, আপনি একটি কাস্টম রুট তৈরি করে খুঁজে পাওয়া যায়নি এমন একটি পৃষ্ঠা পরিচালনা করতে পারেন যা একটি NotFound উপাদান রেন্ডার করবে যখন URL বিদ্যমান কোনো রুটের সাথে মেলে না। এটি করার জন্য, আপনাকে "*" এ সেট করা পাথ সহ একটি নতুন রুট তৈরি করতে হবে এবং আপনার NotFound উপাদানটি রেন্ডার করতে হবে।

উদাহরণ স্বরূপ:

} />

এটি এমন কোনো URL এর সাথে মিলবে যা ইতিমধ্যেই একটি বিদ্যমান রুটের সাথে মেলেনি এবং আপনার NotFound উপাদান রেন্ডার করবে৷

আমি কীভাবে একটি প্রতিক্রিয়াশীল পৃষ্ঠাকে পুনরায় লোড করতে বাধ্য করব

প্রতিক্রিয়া রাউটারে, আপনি ইতিহাস অবজেক্টে প্রতিস্থাপন পদ্ধতি ব্যবহার করে একটি পৃষ্ঠা পুনরায় লোড করতে বাধ্য করতে পারেন। এটি ইতিহাস স্ট্যাকের বর্তমান এন্ট্রিটিকে একটি নতুন দিয়ে প্রতিস্থাপন করবে, এইভাবে পৃষ্ঠাটি পুনরায় লোড করতে বাধ্য হবে৷ এই পদ্ধতিটি ব্যবহার করার জন্য, আপনাকে প্রথমে ইতিহাস অবজেক্টে অ্যাক্সেস পেতে হবে। আপনার রাউটার উপাদান তৈরি করার সময় আপনি এটিকে প্রপ হিসাবে পাস করে এটি করতে পারেন:

const AppRouter = () => (

{/* আপনার রুট এখানে */}

);

একবার আপনি ইতিহাস অবজেক্টে অ্যাক্সেস পেয়ে গেলে, আপনি এটির প্রতিস্থাপন পদ্ধতিটি এভাবে ব্যবহার করতে পারেন:

history.replace('/some-route');

সম্পর্কিত পোস্ট:

মতামত দিন