Side Effect of React
🔍 Side Effect মানে কী?
একটি ফাংশন যখন তার বাইরের জগতে কোনো প্রভাব ফেলে — মানে, state পরিবর্তন করে, DOM পরিবর্তন করে, API call করে, file write করে, timer set করে ইত্যাদি, তখন তাকে বলে side effect।
🎯 সহজ উদাহরণ:
let x = 5;
function add(a, b) {
return a + b;
}
এই add()
ফাংশনে কোনো side effect নেই, কারণ এটি শুধু ইনপুট নেয় আর রিটার্ন করে, কোনো বাইরের কিছু পরিবর্তন করে না।
কিন্তু নিচেরটা দেখো:
let x = 5;
function addAndChangeX(a, b) {
x = x + a + b;
return x;
}
এখানে x
হচ্ছে ফাংশনের বাইরের একটি ভ্যারিয়েবল — ফাংশন এটাকে পরিবর্তন করছে। তাই এটা একটা side effect।
💡 React-এ Side Effect-এর উদাহরণ:
React-এ side effect বলতে বোঝায়:
Data fetch করা (API call)
-
DOM manipulation করা (যেমন title পরিবর্তন)
-
Timer set করা (
setTimeout
,setInterval
) -
Event listener add/remove করা
এই কাজগুলো সব করা হয় useEffect()
hook এর মাধ্যমে।
🧠 কেন useEffect লাগে?
React-এর rendering হলো pure – মানে, rendering-এর সময় কোনো side effect হওয়া উচিত না। তাই React বলেছে:
"তুমি যদি কোনো side effect করতে চাও, সেটা
useEffect()
এর মধ্যে করো।"
🧾 সংক্ষেপে:
কাজ | Side Effect কিনা? |
---|---|
দুই সংখ্যার যোগফল বের করা | ❌ না |
API থেকে data আনা | ✅ হ্যাঁ |
timer চালু করা | ✅ হ্যাঁ |
UI-তে কিছু দেখানো | ❌ না |
localStorage-এ ডেটা রাখা | ✅ হ্যাঁ |