تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Atie Karbasi
تغییر value در input با state
Soroosh حل شده توسط Soroosh

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

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

سپاسگزارم.

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

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

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

بهترین پاسخ
Soroosh ۲۲ آبان ۱۳۹۹، ۰۵:۱۹