javascript - 反应:图像 src 没有通过 API 走路径。图像未定义
问题描述
我是 Reactjs 的新手。我无法从 API 中提取图片网址。如果stackoverflow中已经存在类似类型的线程,我真的很抱歉。完整代码如下。我使用的 API 是:https ://api.thecatapi.com/v1/breeds
import React, { Component } from "react";
import ReactDOM from "react-dom";
const Cat = ({
cat: {name, image},
}) => {
return(
<div className='catMain'>
<div className='catImage'>
<img src={image.url} alt={name} />
</div>
</div>
)
}
class App extends Component {
state = {
data: [],
};
componentDidMount() {
this.fetchCatData();
}
fetchCatData = async () => {
const url1 = "https://api.thecatapi.com/v1/breeds"
const response = await fetch(url1)
const data = await response.json()
this.setState({
data,
})
}
render() {
return (
<div className='main'>
<div className="cats">
<div className="catsInfo">
{this.state.data.map((cat) => (
<Cat cat={cat}/>
))}
</div>
</div>
</div>
)
}
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
解决方案
如果你想显示每只猫,即使它们可能没有图像,你可以这样做:
const Cat = ({ cat: { name, image } }) => {
return (
<div className="catMain">
{image && (
<div className="catImage">
<img src={image.url} alt={name} />
</div>
)}
</div>
);
};
然后你可以只显示你想要的关于猫的任何其他内容,而不必担心图像问题。
推荐阅读
- sql - Generate SQL output in a specific format
- pandas - How to sum pandas dataframe by specific column without changing other columns?
- python - Pandas groupby,聚合过滤奇怪行为
- java - 如何在java中对字符串集合进行分块
- python - Python:如何在多个节点上运行简单的 MPI 代码?
- reactjs - reactjs 输入在 svg 中显示值
- javascript - 如何在 Reactjs 中从 Flask 播放 wav 文件?
- html - 如何使用来自 HTML 的 Swift 属性字符串设置 HTML 标签的样式
- r - R - 选择一个正则表达式
- r - 将列转换为 as.Date 列的省时方法