javascript - 反应错误:TypeError:无法读取未定义的属性“缩略图”
问题描述
我遇到了一个奇怪的问题。我是 React 新手,我只想从 The Guardian API 检索标题和缩略图。
当我尝试设置图像的 src 时data.fields.thumbnail
出现错误Error: TypeError: Cannot read property 'thumbnail' of undefined
奇怪的是,我在错误消息出现之前看到图像在屏幕上正确加载,这让我认为缩略图实际上是定义的?
这是我的代码:
import React, { useState, useEffect } from 'react'
import axios from 'axios'
function NewsData() {
const [data, setData] = useState([])
const urlApi = "https://content.guardianapis.com/search?order-by=relevance&use-date=published&q=crypto&api-key=fbd25144-951c-40ac-8dfa-63fdd9a1eb06&show-fields=thumbnail"
useEffect(() => {
axios.get(urlApi)
.then(response => setData(response.data.response.results['0']))
}, [urlApi])
return (
<div>
<h4>{data.webTitle}</h4>
{/* <p>{data.fields.thumbnail}</p> */}
<img src={data.fields.thumbnail}></img>
</div>
)
}
export default NewsData
解决方案
您正在尝试在加载之前使用 data.fileds.thumbnail。这就是它未定义的原因。
您可以进行验证,如果数据存在,则显示这部分代码。
推荐阅读
- php - PHP 7.2 中计数数组位置的问题
- firebase - Firebase user.sendEmailVerification() 到我自己的地址
- javascript - 仅返回数组中对象属性最流行的拼写以及降序排列的所有拼写的总和
- selenium - 在 IntellIJ 的浏览器中记录步骤
- azure-active-directory - 没有 HTTPS 的 MSAL 重定向 URI
- r - 如何根据另一个数据框中的值对数据框进行子集化
- drupal - 翻译的节点以默认语言显示
- multithreading - PyQt5向线程添加第二个函数但不起作用
- sql - 有没有办法使用python在1-2秒内将500条记录插入sql server
- sql - 对父字段按 v Max() 或 MIN() 分组