آموزش چرخه حیات کامپوننت در React؛ مراحل Mount، Update و Unmount در کامپوننت تابعی و مدیریت هر مرحله با useEffect و dependency array.
چرخه حیات (Lifecycle) مسیر یک کامپوننت از تولد تا حذف از DOM است. در کامپوننتهای کلاسی با متدهایی مثل componentDidMount مدیریت میشد؛ امروز در کامپوننتهای تابعی همان منطق با useEffect پیادهسازی میشود.
| مرحله | معنی | مثال |
|---|---|---|
| Mount | اولین رندر و ورود به DOM | fetch اولیه، setup listener |
| Update | رندر مجدد بعد از تغییر state/props | sync با state جدید |
| Unmount | حذف از DOM | cleanup، لغو subscribe |
کامپوننت برای اولین بار رندر و به DOM اضافه میشود:
useEffect(() => {
console.log("Component Mounted");
}, []);آرایه خالی [] → effect فقط یک بار بعد از mount.
وقتی state یا props تغییر کند، React کامپوننت را دوباره رندر میکند:
useEffect(() => {
console.log("Component Updated — someState changed");
}, [someState]);هر بار someState عوض شود، effect اجرا میشود.
وقتی کامپوننت از DOM حذف میشود (مثلاً کاربر صفحه را عوض کند). برای این مرحله از تابع cleanup داخل useEffect استفاده میشود:
useEffect(() => {
return () => {
console.log("Component Unmounted");
};
}, []);| کلاس (قدیم) | تابعی (امروز) |
|---|---|
componentDidMount | useEffect(fn, []) |
componentDidUpdate | useEffect(fn, [dep]) |
componentWillUnmount | return () => {} در useEffect |
چرخه حیات به شما کمک میکند بدانید کد کی باید اجرا شود: setup در mount، واکنش در update، پاکسازی در unmount. با useEffect و dependency array هر سه مرحله در کامپوننت تابعی قابل کنترل هستند — بدون نیاز به کلاس.