React ES6 Classes
🔹 React ES6 Classes (کلاسها در React)
در این درس یاد میگیری چطور از کلاسها در ES6 برای ساخت کامپوننتهای React استفاده میشه، تفاوتش با کامپوننتهای تابعی چیه، و چه زمانی هنوز ممکنه بهش نیاز پیدا کنی.
🔸 کلاس (Class) در ES6 چیست؟
کلاسها در ES6 راهی سادهتر و خواناتر برای ساخت اشیای مبتنی بر prototype هستن.
🔹 مثال ساده:
📌 ()constructor تابعیست که هنگام ساخت شیء از کلاس اجرا میشه.
🔸 کلاسها در React
قبل از معرفی Hooks در React (نسخه 16.8)، تمام کامپوننتهای پیچیده با کلاسها ساخته میشدن.
🔹 مثال یک کامپوننت کلاسی:
📌 اینجا:
-
Welcomeیک کلاس React است. -
از
React.Componentارثبری کرده. -
متد
()renderهمیشه باید JSX برگردونه.
🔸 استفاده در App.js
📌 خروجی:
🔸 State در کامپوننت کلاسی
کلاسها میتونن state داخلی داشته باشن (برخلاف تابعها در نسخههای قدیمی).
📌 خروجی:
وقتی روی دکمه کلیک میکنی، عدد افزایش پیدا میکنه 🎯
🔸 رویدادها در کلاسها
برای اینکه this درست عمل کنه، معمولاً از Arrow Function استفاده میکنیم تا بایند بشه:
و در JSX:
🔸 متدهای چرخهی حیات (Lifecycle Methods)
کامپوننتهای کلاسی از متدهایی استفاده میکنن که در زمانهای مختلف از چرخه حیات کامپوننت اجرا میشن.
مثلاً:
📌 در کامپوننتهای تابعی، معادل این متدها با useEffect() پیادهسازی میشه.
🔸 Props در کلاسها
مقدار props از this.props گرفته میشه:
🔸 مقایسه کامپوننت تابعی و کلاسی
| ویژگی | Class Component | Function Component |
|---|---|---|
| نحوه تعریف | با class و extends React.Component | با function یا const |
| state | با this.state و ()this.setState | با ()useState |
| lifecycle | با متدهای خاص (componentDidMount و ...) | با ()useEffect |
| this | نیاز به بایند دارد | ندارد |
| عملکرد | کمی سنگینتر | سبکتر و سریعتر |
| استفاده امروزی | کمتر رایج | روش اصلی و توصیهشده |
🔸 زمانی که هنوز از کلاس استفاده میشه
هرچند امروز بیشتر از کامپوننتهای تابعی استفاده میشه، اما کلاسها هنوز کاربرد دارن در:
-
پروژههای قدیمی React
-
بعضی کتابخانهها که فقط از کلاس پشتیبانی میکنن
-
موقع مطالعه یا درک مفاهیم قدیمیتر React
✅ خلاصه
| مفهوم | توضیح |
|---|---|
| تعریف کلاس | با class MyComponent extends React.Component |
متد ()render | تنها متد اجباری در کلاس |
| state | با this.state و ()this.setState |
| props | با this.props |
| lifecycle | شامل متدهایی مثل ()componentDidMount |
| جایگزین مدرن | کامپوننتهای تابعی + Hooks |
✅ نتیجه:
در این درس یاد گرفتی چطور با کلاسها در React کار کنی، state و props رو مدیریت کنی، رویدادها رو کنترل کنی و چرخهی حیات کامپوننت رو درک کنی.
هرچند امروز بیشتر از تابعها و هوکها استفاده میشه، اما دونستن کلاسها هنوز ضروریه.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React