مشکل در تمرین

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

سلام استاد 

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

 

https://codesandbox.io/s/pedantic-maxwell-uyp1j?file=/src/App.js

فایل پیوست

علیرضا بابایی
علیرضا بابایی

7 خرداد 00

0
حذف شده

سلام

ارور خیلی شفاف 

TypeError: this.state.info is null

داره میگه که info دارای مقدار null و شما میخوای در خط 39 مقدار city رو از روی اون بخونی بنابراین به ارور میخوری

دلیلشم این هست که عملیات دریافت اطلاعات از سرور به صورت async داره انجام میشه و اولین باری که رندر صورت میگیره هنوز اطلاعات از سرور دریافت نشده و درواقع چیزی داخل state هنوز قرار نگرفته!

راه حلی زیاد داره میتونی مثلا داخل state یه مقدار قرار بدی و ببینی که آیا در حالت loading هستی یا نه  و تا جایی که یادم هست مشابه این مورد رو انجام دادم!

میتونی چک بکنی که آیا info مقدار داره یا نه مثلا:

this.state.info?.city

و کلی روش دیگه که هر کدوم راحت باشی میتونی انجام بدی

فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

7 خرداد 00