Yasi
Yasi
خواندن ۱ دقیقه·۵ ماه پیش

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

سلام به همه،به نظرم خیلی خوبه که هرچند وقت یکبار یکی از سوالات مصاحبه ای ریکت رو که از خودم یا بقیه دوستان پرسیدن بررسی کنیم و جواب بدیم.
یکی از سوالاتی که ممکنه ازمون پرسیده شه
چرا در useState از const استفاده میکنیم چرا let نه؟؟و چرا با اینکه ما useState رو const تعریف میکنیم میتونیم مقدارشو تغییر بدهیم؟
خب یک یاداوری از js داشته باشیم که اصلا let وconst چه فرقی میکرد باهم
درصورتی که یک متغیر از نوع let باشه فقط تو scope مربوط به خودش قابل دسترسیه و اگر ازنوع const باشه اونم مثل let فقط تو scope خودش قابل دسترسیه با تفاوت اینکه const مقدار ثابت داره و نمیشه مقدارشو عوض کرد.
یعنی مقدار اون متغیری که let تعریف شده هست رو میتونیم تغییر بدیم و علاوه بر اون refrence اون هم عوض میشه اصطلاحا میشه متغیر رو reassign کرد .
اما متغیر از نوع const اینطوری نیست یعنی نمیتونیم مقدارشو تغییر بدیم
خب پس در state ها در ریکت چطوری مقدار state که const تعریف شده تغییر میکنه؟؟
فرض کنید یک state جدید در ریکت تعریف کردیم وقتی مقدار اون رو تغییر میدیم ( با تابع مورد نظرش مثل setCount برای count  )کامپوننت موردنظر re-render میشه و یک متغیر جدید با scope جدید ساخته میشه پس وقتی از const استفاده میکنیم یعنی نمیخوایم متغیر توی scope خودش دوباره reassign بشه نیازیم هم بهش نیست و درواقع ریکت دیگه کاری به مقدار قبلی state نداره.
به خاطر همینه که اگر شما بخواین یک المنت به یک آرایه یا آبجکت که State تعریفش کردید اضافه کنید باید حتما یک کپی از المنت های قبلیش بگیرید و مقدار جدید رو بهش اضافه کنید چون scope جدید و متغیر جدید ساخته شده .

reactjavascriptusestatereactjsآموزش Reactjs
علاقه مند به برنامه نویسی،کتاب،سینما
شاید از این پست‌ها خوشتان بیاید