首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >API调用中无法访问图像URL

API调用中无法访问图像URL
EN

Stack Overflow用户
提问于 2021-02-15 03:50:42
回答 1查看 39关注 0票数 0

我正尝试在react项目的API调用中访问图像URL,但我得到的错误消息是该URL未定义为错误。我试图找到错误,但找不到。请帮助我知道我做错了什么。

下面是我的代码。给我一个问题的地方被注释掉了。

代码语言:javascript
运行
复制
import React, { Component } from 'react'
import axios from "axios";
import { Card} from "react-bootstrap";

export default class App extends Component {
  state = {
    data: []
  };

  componentDidMount() {
    this.fetchCountryData();
  }
  fetchCountryData = async () => {
    const url = "https://api.thecatapi.com/v1/breeds";
    try {
      const response = await axios.get(url);
      const data = await response.data;
      this.setState({
        data
      });
     
    } catch (error) {
      console.log(error);
    }
  };
  render() {
    return (
      <div className="App">
      <h1>React Component Life Cycle</h1>
      <h1>Calling API</h1>
      <div>
        {
          this.state.data.map((item, id) => (
          <div key={id}>
            {console.log(item)}



            <Card style={{ width: '18rem' }}>
            {/* <Card.Img variant="top" src={item.image.url} /> This part is giving me the problem  */}
        <Card.Body>
        <Card.Title>{item.name}</Card.Title>
        <Card.Text>
        {item.origin}
      </Card.Text>
      <Card.Text>
      {item.temperament} 
      </Card.Text>
      <Card.Text>
      {item.weight.metric} 
      </Card.Text>
      <Card.Text>
      {item.description} 
      </Card.Text>
    {/* <Button variant="primary">Go somewhere</Button> */}
    </Card.Body>
  </Card>









            {/* { <img src={item.image.url} alt=""/> }  Please why is this not working ? */}
            {/* {item.name} <br/>
            {item.origin} <br/>
            {item.temperament} <br/>
            {item.life_span} <br/>
            {item.weight.metric} <br/>
            {item.description} <br/> */}

          </div>
          ))
        }
        
      </div>
    </div>
    )
  }
}

EN

回答 1

Stack Overflow用户

发布于 2021-02-15 17:16:18

这很有趣。我的第一个想法是,当组件呈现时,item.image对象不存在,这就是为什么您不能访问未定义对象中的属性。但后来我意识到这并不适合item.weight.metric。我将拭目以待,看看其他人对此有何评论。

但是,基本的修复方法是,您可以简单地将图像链接用作item.image && item.image.url或简称为item.image?.url,这样它就不会抛出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66199473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档