تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ الیاس حنفی
مشکل در useEffect
جامعه ری اکت ایجاد شده در ۰۶ تیر ۱۴۰۱

با سلام

داخل پروژه ای که در حال انجامش هستم در حال حاضر دست رسی به api اصلی را ندارم و از جیسون سرور استفاده کردم داخل تصویر تایپ نوشتن فایل جیسون موجود در تصویر بعدی وقتی از useEffect استفاده میکنم و دیتا رو دریافت میکنم چون میخوام ابجکت از ارایه خارج کنم به وسیله دیستراکچرینگ این کارو انجام میدم(دیتا رو ست استیت کردم) ولی این کار فقط یک بار انجام میشه و با رفرش شدن پیج ارور undefiend دریافت میکنم و انگار در دفعه‌های بعد setState فراخوانی نمیشه با برسی کردن متوجه شدم مشکل از دیستراکچرینگ دیتا دریافتی هستش!!

ارور از خط 17 تصور دوم() console.log

با روش Food =[ food] const هم سعی داشتم تا دیتا رو خارج کنم و به کاستوم سوایپر بدم که بازم با رفش صفحه کل دیتا‌ها undefiend میشد

میخواستم بدونم چرا این مشکل ایجاد میشه ؟ و چطوری رفعش کنم78ae-Screenshot (535).pngd6f3-Screenshot (536).png

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

مورد اول اینکه شما برای چک کردن مقدار state خودتون هیچوقت از بدنه component استفاده نکنید چون اصلا کار استانداردی نیستو اطلاعات دقیقی بهتون نمیده و همیشه از یک state watcher استفاده کنید مثل useEffect .

در مورد اینکه مقدار food درست set نمیشه احتمالم این هست که مشکل از تابع get باشه و اگر این تابع صرفا یک در خواست میزنه و به شما برمیگردونه ،این شیوه ای که استفاده کردید مقدار مورد نظر شمارو بهتون نمیده . شما لطفا مقدار برگشتی از get یعنی در اینجا ress رو بررسی کنید و با توجه به اون تلاش کنید مقدار food رو set کنید .

مورد بعد هم اگر قرار هست state شما یک object باشه بهتره که مقدار اولیه که به usestate میدید هم از همون نوع باشه .

این موارد رو بررسی کنید اگر حل نشد بفرمایید بیشتر راهنمایی کنم .

موفق باشید.

بهترین پاسخ
علیرضا ایمانی ۰۷ تیر ۱۴۰۱، ۰۸:۴۸