我是react js新手,我遇到了未捕获的TypeError:无法读取未定义的属性(读取"url")错误,因为获取图像映射.如果我使用文件中已经存在的数据,它可以正常工作,但是如果我必须获取数据,就会产生这个错误.这就是我们try 过的.请让我知道如何修复这个错误.

 const THECATAPI = 'https://api.thecatapi.com/v1/breeds'

  const [catList, setCatList] = useState([])


       const axiosPosts = async () => {
      try {
        const response = await axios(THECATAPI)
        setCatList(response.data)
      } catch (error) {
        console.log('erroRRRR');

      }
    };



 
   // return 
<div>

 
    {
        catList.map((obj, i) => (
            <div >
                <img src={obj['image']['url']} alt='loading' />
            </div>
    }

</div>

推荐答案

由于要从数组中访问嵌套值,因此在某些情况下,可能不会显示该值.访问嵌套字段时,可以使用optional chaining.您可以像这样简单地更改代码块.

{catList.map((obj, i) => (
  <div key={obj?.id}>
    <img src={obj?.image?.url} alt="loading" />
  </div>
))}

把沙箱装在这里.

Edit nifty-snyder-frltdq

Javascript相关问答推荐

在这种情况下,如何 for each 元素添加id?

成功完成Reducers后不更新状态

Chart.js 4.4.2,当悬停在一个数据点上时,如何在工具提示中拥有多个数据点/标签?

如何在 cypress 中使用静态嵌套循环

无法使用单击按钮时的useState将数据从一个页面传递到另一个页面

如何在ASP.NET JavaScript中使用Google Charts API仅对绘制为负方向的条形图移动堆叠条形图标签位置

未定义引用错误:未定义&Quot;而不是&Quot;ReferenceError:在初始化&Quot;之前无法访问';a';

扩展类型的联合被解析为基类型

如何使用TypeScrip设置唯一属性?

无法避免UV:flat的插值:非法使用保留字"

如何为仅有数据可用的点显示X轴标签?

如何通过Axios在GraphQL查询中发送数组

ReferenceError:无法在初始化之前访问setData

如何在移动设备中使用JAVASSCRIPT移除点击时的焦点/悬停状态

脚本语法错误只是一个字符串,而不是一个对象?

将字符串解释为数字;将其重新编码为另一个基数

MUI-TABLE:MUI表组件中交替行的不同 colored颜色 不起作用

如何格式化API的响应

如何为Reaction应用程序创建仅登录的路由?

如何根据获取的对象数量动态生成状态变量