مِهان علوی مجد
مِهان علوی مجد
خواندن ۱ دقیقه·۲ سال پیش

چرا از state استفاده کنیم وقتی میشه از متغیر ها استفاده کرد؟


تعریف استیت اینه:

The state object is where you store property values that belongs to the component.

اولین چیزی که به ذهن مون میرسه اینه که خیلی شبیه متغیر هاست.

مثلا این یه مثال با استیته:

https://gist.github.com/mehanalavimajd/08a3eb4f3be7cdd03393efba11f6dff3

و این با متغیر :

https://gist.github.com/mehanalavimajd/16dcbca4048feb2eebc742349916aaf7

هر دو از نظر منطقی یه کار می کنن مقدار اولیه یعنی ۰ رو یه جا نگه میدارن و بعد از کلیک یه دونه بهش اضافه می کنن و نشونش میدن

اما..

نکته اینجاست که وقتی از useState استفاده می کنیم بعد از هر تغییر تو خود استیت ری‌اکت دوباره کامپوننت رو رندر می کنه اما تو متغیر معمولی ری‌اکت متوجه تغییر نمیشه و برای همین همیشه همون ۰ رو داریم. پس تو هر تغییر برای state کامپوننت re-render می شه.

پ.ن: می دونم پست مسخره ای بود اما خودم خیلی تو این مشکل داشتم و با این مثال درست شد پس گفتم این جا هم بنویسم.

منبع:

https://stackoverflow.com/questions/69747700/using-variables-instead-of-state

نوشته های پیشین:

https://virgool.io/@mehan/%D8%AA%D8%B1%D9%81%D9%86%D8%AF-%D9%87%D8%A7%DB%8C-%DA%AF%DB%8C%D8%AA%D8%A8%D8%AE%D8%B4-%DB%B1-e8g6apdbuhgo
https://virgool.io/@mehan/%D8%B1%DB%8C%DA%A9-%D8%B1%D9%88%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%D8%B1-%D8%AA%D8%B1%D9%85%DB%8C%D9%86%D8%A7%D9%84-coyeswbvgoly


ری اکتreactstateجاوااسکریپتبرنامه نویسی
یه پسر که برنامه نویسی رو دوست داره
شاید از این پست‌ها خوشتان بیاید