تغییر value در input با state

پرسیده شده
فعالیت 1264 روز پیش
دیده شده 469 بار
0

سلام، روزتون بخیر.

میدونم سوالم مربوط به این درس نیست ولی قبلا هم که این مبحث آموزش داده شده با این موضوع مشکل داشتم که چرا وقتی یک چیزی در input تایپ میشه ما باید به صورت دستی با state ولیو input رو تغییر بدیم؟ مگر مقدار پیش فرض این چی هست؟ اگر با value  در event.target.value ارتباط داره که خودش باید تغییر کنه همونطور که  event.target.value تغییر میکنه، اگرنه ارتباطی ندارن، که اصلا بهش نیازی نداریم و میشه تغییرش نداد، درواقع دلیل این که وقتی مقدار ولیو رو مشخص نمیکنیم کد کار نمیکنه رو متوجه نمیشم.

سپاسگزارم.

فایل پیوست

Atie Karbasi
Atie Karbasi

21 آبان 99

1
حذف شده

با سلام خدمت شما وقتتون بخیر

ببینید علت این قضیه برمیگرده به ارتباط state  با life cycle method ها در واقع زمانی که یک state تغییر میکنه این تغییر در نهایت منجر به اجرا شدن مجدد متد render میشه 

و زمانی که رندر دوباره اجرا میشه اون input هایی که تعریف کردید از نو روی dom قرار میگیرن  و به همین خاطر مقدار value اون input ها که انگار تازه ساخته شده اند خالی هست و چاره اینه که بعد از هر بار که رندر اتفاق میفته ما با استفاده از state مقدار value  اون input را بهش یاد آوری میکنیم.

فایل پیوست

Soroosh

توسط

Soroosh

22 آبان 99

حذف شده
خیلی ممنون از پاسختون، بسیار کامل و مفید بود.
Atie Karbasi

24 آبان 99

جلسه ساده ترین مثال استفاده از Hooks