تعریف استیت اینه:
The state
object is where you store property values that belongs to the component.
اولین چیزی که به ذهن مون میرسه اینه که خیلی شبیه متغیر هاست.
مثلا این یه مثال با استیته:
و این با متغیر :
هر دو از نظر منطقی یه کار می کنن مقدار اولیه یعنی ۰ رو یه جا نگه میدارن و بعد از کلیک یه دونه بهش اضافه می کنن و نشونش میدن
اما..
نکته اینجاست که وقتی از useState استفاده می کنیم بعد از هر تغییر تو خود استیت ریاکت دوباره کامپوننت رو رندر می کنه اما تو متغیر معمولی ریاکت متوجه تغییر نمیشه و برای همین همیشه همون ۰ رو داریم. پس تو هر تغییر برای state کامپوننت re-render می شه.
پ.ن: می دونم پست مسخره ای بود اما خودم خیلی تو این مشکل داشتم و با این مثال درست شد پس گفتم این جا هم بنویسم.
منبع:
نوشته های پیشین: