রিঅ্যাক্টের ডেভেলপমেন্ট টিম রিঅ্যাক্ট সংস্করণ 16.8-এ হুক্সের ধারণা চালু করেছে। একটি প্রতিক্রিয়া হুক একটি ফাংশন উপাদান রাষ্ট্র এবং অন্যান্য প্রতিক্রিয়া বৈশিষ্ট্য ব্যবহার করার অনুমতি দেয়. হুক useState এর সাহায্যে, একটি ফাংশন কম্পোনেন্ট ক্লাস কম্পোনেন্ট হিসাবে পুনরায় লেখা না করেই তার নিজস্ব অভ্যন্তরীণ অবস্থা সেট করতে পারে।
প্রতিক্রিয়া ক্লাস এবং কার্যকরী উপাদানগুলির পার্থক্য পর্যালোচনা করতে এই নির্দেশিকাটি দেখুন।
প্রতিক্রিয়ায় আরেকটি বহুল ব্যবহৃত হুক হল useEffect। UseEffect এর সাথে, পার্শ্ব প্রতিক্রিয়া (বা "প্রভাব") একটি কার্যকরী উপাদানের প্রেক্ষাপট থেকে সঞ্চালিত হয়। মনে রাখবেন যে পার্শ্ব প্রতিক্রিয়া জাভাস্ক্রিপ্ট ফাংশনেও ঘটে।
পার্শ্ব প্রতিক্রিয়া ঘটে যখন একটি ফাংশন তার শরীরের বাইরে কিছু পরিবর্তন করে। প্রতিক্রিয়াতে, এটি একই জিনিস এবং এর আগে প্রতিক্রিয়া উপাদানগুলি থেকে ডেটা আনা, সদস্যতা বা DOM পরিবর্তন অন্তর্ভুক্ত করতে পারে।
ইফেক্ট ব্যবহার কি?
প্রতিক্রিয়া হুক useEffect একটি কার্যকরী উপাদান পার্শ্ব প্রতিক্রিয়া সঞ্চালনের অনুমতি দেয়. এটি লাইফ সাইকেল পদ্ধতির অনুরূপভাবে কাজ করে কম্পোনেন্টডিডমাউন্ট, কম্পোনেন্ট উইলআপডেট এবং রিঅ্যাক্ট ক্লাস কম্পোনেন্টে কম্পোনেন্ট উইলআনমাউন্ট। আরো বিস্তারিত জানার জন্য প্রতিক্রিয়া জীবনচক্র পদ্ধতির এই ভূমিকা পড়ুন।
এই নিবন্ধে, আমরা কিভাবে হুক ব্যবহার শুরু করতে হয় তার একটি মৌলিক উদাহরণ দেখতে পাব। এই নিবন্ধটির উদ্দেশ্য একটি ভূমিকা হিসাবে পরিবেশন করা, গভীর ডুব নয়। ইউজ ইফেক্টের একটি বিস্তৃত চেহারার জন্য, আপনি প্রতিক্রিয়া হুকগুলির সাথে পরিচিত হয়ে গেলে এই ওভারভিউটি পড়ুন।
প্রতিক্রিয়া হুক সিনট্যাক্স
useEffect বোঝার জন্য, আমাদের প্রথমে সংক্ষিপ্তভাবে useState Hook-এর সিনট্যাক্সের উপর যেতে হবে। হুক ব্যবহার করার সময়, সেগুলিকে অবশ্যই আমদানি করতে হবে ঠিক যেমন প্রতিক্রিয়া আমদানি করা হয়।
প্রতিক্রিয়া আমদানি করুন, { useState, useEffect } 'react' থেকে;
এখন আমরা ভিতরে আমাদের হুক দিয়ে আমাদের কার্যকরী উপাদান সংজ্ঞায়িত করতে পারি। এটি জাভাস্ক্রিপ্ট ফাংশন সুযোগ ব্যবহার করছে। যখন আমরা কার্যকরী উপাদানের ভিতরে আমাদের ইউজ ইফেক্ট হুককে সংজ্ঞায়িত করি, তখন এটির সুযোগের মাধ্যমে স্টেট এবং প্রপস অ্যাক্সেস করে। সুযোগ সম্পর্কে আরও জানতে, এই প্রাইমারের সাথে পর্যালোচনা করুন।
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
স্টেট সিনট্যাক্স ব্যবহার করুন
স্বচ্ছতার জন্য, আমাদের উদাহরণের জন্য একটি সাধারণ কাউন্টার ব্যবহার করা যাক। আমরা DOM-এ আউটপুট করব একটি বোতাম কতবার ক্লিক করা হয়েছে। আমদানির সাথে সম্পূর্ণ আমাদের কার্যকরী উপাদান এইরকম দেখাবে:
এটি আমাদের বোতামটি DOM-এ রেন্ডার করে। useEffect সংজ্ঞায়িত করার আগে, আমরা useState Hook সংজ্ঞায়িত করে আমাদের প্রাথমিক অবস্থা সেট করতে পারি।
const [count, setCount] =useState(0);
এই সিনট্যাক্স ব্যবহার করে, প্রতিক্রিয়া প্রথম ভেরিয়েবলটিকে প্রাথমিক অবস্থায় সেট করে। এই ক্ষেত্রে, "গণনা" পরিবর্তনশীলটি useState-এ পাস করা আর্গুমেন্ট দ্বারা সেট করা হয়। প্রতিক্রিয়া আমাদের গণনার প্রাথমিক অবস্থা 0 এ সেট করেছে। দ্বিতীয় ভেরিয়েবলটি গণনা আপডেট করার জন্য একটি ফাংশন হিসাবে ব্যবহার করা হবে।
এখন যেহেতু আমরা গণনার একটি প্রাথমিক অবস্থা 0 তে সেট করেছি, আমরা আমাদের সেটকাউন্ট ফাংশনটি রাজ্যটি আপডেট করতে ব্যবহার করতে পারি।
const ButtonCounter =() => { const [count, setCount] =useState(0); প্রত্যাবর্তন ()}প্রে>আপনি বোতামটি {count} বার ক্লিক করেছেন
আমাদের onClick সম্পত্তিতে একটি কলব্যাক ফাংশন হিসাবে আমাদের setCount ব্যবহার করে, আমরা প্রতিবার বোতামটি ক্লিক করার সময় DOM আপডেট করতে পারি।
এর মানে হল আমাদের setCount ফাংশন যেমন সংজ্ঞায়িত করা হয় যখন useState-এর সাথে আমাদের প্রাথমিক অবস্থা সেট করে কাজ করছে! এখন আমরা ইউজস্টেট হুকের সিনট্যাক্স দেখেছি, আসুন ইউজ ইফেক্ট দেখি।
ইফেক্ট সিনট্যাক্স ব্যবহার করুন
আগেই বলা হয়েছে, useEffect পার্শ্ব প্রতিক্রিয়ার ব্যবহারকে সংজ্ঞায়িত করে। ডেটা আনয়ন এবং ম্যানুয়াল DOM পরিবর্তনের মাধ্যমে উপাদানগুলির পরিবর্তনগুলি পার্শ্ব প্রতিক্রিয়া গঠন করে। প্রতিবার কম্পোনেন্ট রেন্ডার করার সময় ইউজ ইফেক্ট হুক বলা হয়।
এটি প্রতিক্রিয়া ক্লাসের উপাদানগুলিতে componentDidMount এবং componentDidUpdate এর অনুরূপভাবে কাজ করে। আমাদের পাল্টা উদাহরণের সাথে এগিয়ে যেতে, আমরা আমাদের
উপাদানে একটি নাম প্রদর্শন করে আমাদের DOM আপডেট ব্যবহার করব।
const [count, setCount] =useState(0); const [name, setName] =useState(" "); useEffect(() => { setName(name + "Ryan") }) রিটার্ন ()}হ্যালো {name}! আপনি {count} বার ক্লিক করেছেন
এটি ইচ্ছাকৃতভাবে ভুল কোড করা হয়েছে। DOM-এ যা পুশ করা হয় তা প্রমাণ করে UseEffect কে কম্পোনেন্টের প্রতিটি রেন্ডারের সাথে বলা হয়।
এটি ঘটছে কারণ ডিফল্টরূপে, useEffect Hook componentDidMount এবং componentWillUpdate-এর সমন্বয়ের মতো আচরণ করে।
কম্পোনেন্ট মাউন্ট হলেই আমাদের হুককে রেন্ডার করার জন্য কাস্টমাইজ করার জন্য, আমরা ইফেক্ট ব্যবহার করার জন্য একটি দ্বিতীয় আর্গুমেন্ট পাঠাতে পারি। দ্বিতীয় আর্গুমেন্ট হিসাবে useEffect একটি খালি অ্যারে ([]) পাস করে, কম্পোনেন্ট মাউন্ট হলেই React শুধুমাত্র useEffect কল করতে জানে।
useEffect(() => { setName(name + "Ryan") }, [])এখন, আমাদের ফাংশনাল কম্পোনেন্ট মাউন্ট হওয়ার পরেই "Ryan" স্ট্রিংটি প্রদর্শিত হবে।
দারুণ! হুক ব্যবহারে অভ্যস্ত হতে কিছুটা সময় লাগবে। এটি মাথায় রেখে, অফিসিয়াল রিঅ্যাক্ট ডকুমেন্টেশনে হুকস ব্যবহার করার জন্য একটি আপডেট গাইড রয়েছে। এখানে এটি পড়ুন.
উপসংহার
প্রতিক্রিয়া ব্যবহার ইফেক্ট হুকের এই ভূমিকাতে, আমরা হুকগুলি কী এবং কীভাবে সেগুলি ব্যবহার করতে হয় তা শিখেছি। আমরা প্রতিটির জন্য একটি প্রাথমিক উদাহরণ সহ useState এবং useEffect Hooks-এর সিনট্যাক্সও কভার করেছি।
হুকগুলির সম্ভাব্য ব্যবহারগুলি এই প্রাইমারে যা আচ্ছাদিত করা হয়েছে তার থেকে অনেক বেশি। এটি পড়ার পরে এবং আপনার নিজের কোডে কিছু সময় ব্যয় করার পরে, রিঅ্যাক্ট হুক্সের উপর আপনার উপলব্ধি আরও গভীর করতে লিঙ্কযুক্ত সংস্থানগুলিতে শাখা করুন। যদিও ক্লাসের উপাদানগুলি কোথাও যাচ্ছে না, হুকগুলি হল প্রতিক্রিয়ার ভবিষ্যত, তাই তাদের সম্পর্কে অবগত থাকুন এবং আপ টু ডেট থাকুন!