React fetch api 数据未显示
React fetch api data not being displayed
我有一个仅在第一次渲染时运行的简单提取请求。当我用数据更新状态并尝试通过它进行映射时,没有显示任何内容。作为参考,我返回的数据只是一个条目。使用 .map 它应该为每个条目(即 1)显示一个项目符号,但没有显示任何内容。
{quote: "I'm the new Moses"}
import logo from './logo.svg';
import {useState,useEffect} from 'react';
import './App.css';
function App() {
const [users, setUsers] = useState([])
const fetchData = () => {
fetch("https://api.kanye.rest/")
.then(response => {
return response.json()
})
.then(data => {
console.log(data)
setUsers(data)
})
}
useEffect(() => {
fetchData()
}, [])
return (
<div className="App">
<body className='App'>
<div>
{users.length > 0 && (
<ul>
{users.map(user => (
<li>{user.quote}</li>
))}
</ul>
)}
</div>
</body>
</div>
);
}
export default App;
响应值{quote: "I'm the new Moses"}
是一个对象,不是数组。无法映射。
保存时将响应值放在一个数组中。
const fetchData = () => {
fetch("https://api.kanye.rest/")
.then(response => {
return response.json();
})
.then(data => {
console.log(data);
setUsers([data]);
});
};
你得到的结果不是一个数组,而是一个对象。它无法映射。但是,您可以通过多种方式实现预期的行为。其中之一是在设置用户时将数据放入数组中。
setUsers([data])
我有一个仅在第一次渲染时运行的简单提取请求。当我用数据更新状态并尝试通过它进行映射时,没有显示任何内容。作为参考,我返回的数据只是一个条目。使用 .map 它应该为每个条目(即 1)显示一个项目符号,但没有显示任何内容。
{quote: "I'm the new Moses"}
import logo from './logo.svg';
import {useState,useEffect} from 'react';
import './App.css';
function App() {
const [users, setUsers] = useState([])
const fetchData = () => {
fetch("https://api.kanye.rest/")
.then(response => {
return response.json()
})
.then(data => {
console.log(data)
setUsers(data)
})
}
useEffect(() => {
fetchData()
}, [])
return (
<div className="App">
<body className='App'>
<div>
{users.length > 0 && (
<ul>
{users.map(user => (
<li>{user.quote}</li>
))}
</ul>
)}
</div>
</body>
</div>
);
}
export default App;
响应值{quote: "I'm the new Moses"}
是一个对象,不是数组。无法映射。
保存时将响应值放在一个数组中。
const fetchData = () => {
fetch("https://api.kanye.rest/")
.then(response => {
return response.json();
})
.then(data => {
console.log(data);
setUsers([data]);
});
};
你得到的结果不是一个数组,而是一个对象。它无法映射。但是,您可以通过多种方式实现预期的行为。其中之一是在设置用户时将数据放入数组中。
setUsers([data])