راکت
حل شده

داشتن یوز استیت با اسم داینامیک در هوک ها

3 پاسخ

سلام. من وقتی میخواستم توی کلاس کامپوننت ها اسم استیتم داینامیک باشه و اون رو مقدار دهی کنم اینجوری عمل میکردم :

 this.setState({ [property]: newVal })
}

حالا برای اینکه همین موضوع رو توی فانکشن کامپوننت ها داشته باشم نمیدونم باید چیکار کنم. ممنون میشم کمکم کنید
@hesammousavi
@kamran.davar

ثبت پرسش جدید

پاسخ‌ها

3
مهدی عقیقی
مهدی عقیقی
@MehdiAghighi

تخصص: برنامه نویس وب

بهترین پاسخ

@parastooebrahimi سلام وقتتون بخیر.

یک استیت تعریف کنید و توش یک آبجکت باشه مثل زیر:

const [state, setState] = useState({})

حالا هر موقع خواستید با کی داینامیک چیزی رو عوض کنید:

setState({ [property]: newVal })

یعنی در واقع برای این کار باید همه ی استیت ها رو بریزید توی یک آبجکت نه این که چند useState تعریف کنید.

کامران داور
کامران داور
@kamran.davar

تخصص: Front-end developer

یعنی اگه چند usestate داشته باشیم کار نمیکنه؟ به نظر منطقی نمیاد @MehdiAghighi @parastooebrahimi

مهدی عقیقی
مهدی عقیقی
@MehdiAghighi

تخصص: برنامه نویس وب

@kamran.davar وقتی چند useState داشته باشید یعنی برای هر کدوم یک فانکشن setState دارید یعنی برای عوض کردن هر کدوم باید یک فانکشن صدا کنید.

پس اگر بخوایم اون کارو بکنیم باید یک فانکشن رو به صورت دانامیک صدا کنیم که به نظرم اینی که بالا گفتم خیلی منطقی تره.

شاید پاسخ شما همین‌جا باشد

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

ورود یا ثبت‌نام