微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

来自API的ReactJS数据

如何解决来自API的ReactJS数据

当我在ReactJS中运行此代码时,大家好

const callApi = async () => {
    const response = await axios.get('http://api.openweathermap.org/data/2.5/weather?q=London&units=metric&appid=mykey');
    setWeather(response)
  }

我可以进入console.log(weather.data),但是当我尝试获得console.log(weather.data.main)时 我收到此错误TypeError: Cannot read property 'main' of undefined,我试图将数据解析为JSON,但也没有用。

在这里您可以看到该对象具有以下属性

{
    "coord": {
        "lon": -0.13,"lat": 51.51
    },"weather": [
        {
            "id": 804,"main": "Clouds","description": "overcast clouds","icon": "04n"
        }
    ],"base": "stations","main": {
        "temp": 12.43,"feels_like": 7.81,"temp_min": 11.67,"temp_max": 13,"pressure": 1010,"humidity": 62
    },.....other items
}

谢谢所有答案。

解决方法

有时尚未定义第一个渲染数据,因此请使用:

console.log(weather.data?.main)

就像if(data)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。