【发布时间】:2021-04-28 17:52:32
【问题描述】:
所以我想从 API 中获取一个简单的图像。我的目标是显示来自 API 的随机图像。现在它说“数据”没有定义。我不知道为什么会这样,因为我的 console.logs 在尝试在页面上显示之前就已经工作了。
这是我的 App.js
import React,{useEffect, useState} from 'react';
import Dog from './doggo';
//Main component
function App() {
const [dogs, setDog] = useState();
useEffect(() => {
getDog();
}, []);
//Function to get data
const getDog = async () => {
//Fetch from url
const response = await fetch("https://dog.ceo/api/breeds/image/random");
//Store answer in data
const data = await response.json();
//Place data.message in setDog
setDog(data.message);
console.log(data.status);
//data.message contains image url
console.log(data.message);
};
return(
<div>
<h1>Press button to see your future dog!</h1>
<button type="submit">See your dog!</button>
<Dog
image={data.message}
/>
</div>
);
};
export default App;
【问题讨论】:
-
变量
data在getDog函数之外不可用,您可能打算使用dogs状态。
标签: javascript reactjs api fetch