javascript - কেন প্রতিক্রিয়া হুক ইউজস্টেট কনস্ট ব্যবহার করে এবং না দেয়




reactjs ecmascript-6 (2)

একটি প্রতিক্রিয়া ব্যবহারের স্টেট হুক ব্যবহারের স্ট্যান্ডার্ড উপায়টি হ'ল:

const [count, setCount] = useState(0);

তবে এই const count ভেরিয়েবল স্পষ্টতই একটি পৃথক আদি মানকে পুনরায় সাইন করা হতে চলেছে।

তাহলে কেন চলক let count হিসাবে সংজ্ঞায়িত করা হয় let count ?


সেটকাউন্ট কল করার পরে এই উপাদানটি পুনরায় সরবরাহ করা হয় এবং ইউসস্টেটের নতুন কলটি নতুন মান ফেরত দেয়। মুল বক্তব্যটি হ'ল গণনা অপরিবর্তনীয়। সুতরাং এখানে কোন টাইপ নেই।

প্রযুক্তিগতভাবে এটি প্রতিটি রেন্ডারে একটি নতুন পরিবর্তনশীল।

উত্স: গিথুব ইস্যুটির প্রতিক্রিয়া: দস্তাবেজ - হুকস: এটি কোনও টাইপ?


স্পষ্টতই একটি ভিন্ন আদিম মানকে পুনর্নির্দিষ্ট করা হবে

আসলে তা না. যখন উপাদানটি পুনরায় রেন্ডার করা হয়, তখন ফাংশনটি আবার কার্যকর করা হয়, একটি নতুন সুযোগ তৈরি করে, একটি নতুন count ভেরিয়েবল তৈরি করে, যার আগের ভেরিয়েবলের সাথে কোনও সম্পর্ক নেই।

উদাহরণ:

let _state;
let _initialized = false;
function useState(initialValue) {
  if (!_initialized) {
    _state = initialValue;
    _initialized = true;
  }
  return [_state, v => _state = v];
}

function Component() {
  const [count, setCount] = useState(0);

  console.log(count);
  setCount(count + 1);
}

Component();
Component(); // in reality `setCount` somehow triggers a rerender, calling Component again
Component(); // another rerender

দ্রষ্টব্য: হুকগুলি আরও পরিশীলিত এবং বাস্তবে এটি প্রয়োগ করা হয় না। এটি কেবল একটি অনুরূপ আচরণ প্রদর্শন করার জন্য।







react-hooks